npm发布包--所遇到的问题

npm发布包:

 

解决方案--npm adduser的坑:http://www.tuicool.com/articles/FZbYve

npm ERR publish 403,nodejs发布包流程 :http://www.cnblogs.com/zhoudaozhang/p/4730070.html

npm发布注意事项:http://m.blog.csdn.net/article/details?id=49018629

因为重定向了npm库的源,所以 npm adduser 时会将用户名和密码提交到 http://registry.npm.taobao.org 去验证,那当然一直报用户名密码不正确啦。所以需要使用nrm将npm源切换到npmjs官网。

快速切换npm源的开源工具--nrm

 http://www.cnblogs.com/songqingbo/articles/5611588.html

*为当前项

切换为官方源:

成功:

*编写模块

1)新建文件夹,比如:somepackage

2) 该文件夹下新建js文件,比如:index.js

  js内容如下:

  exports.sayHello=function(){
    return "Hello,world.";
  };

*初始化包描述文件

使用cmd命令定位到npmfabuPackage文件夹

输入 npm init 并执行

npm的init命令可以帮助你生成package.json文件,这是我的文件内容:

{
"name": "hanipack1234567",
"version": "1.0.0",
"description": "npmpackage",
"main": "index.js",
"scripts": {
"test": "echo "Error: no test specified" && exit 1"
},
"author": "zuojy",
"license": "ISC",
"repository": {
"type": "git",
"url": "git+https://github.com/happyhani/buildnpmpack.git"
},
"bugs": {
"url": "https://github.com/happyhani/buildnpmpack/issues"
},
"homepage": "https://github.com/happyhani/buildnpmpack#readme"
}

*注册包仓库账号

npm adduser

输入这个命令会有提示输入用户名,密码,邮箱等资料。不能随意填写,第一次使用的时候不知道,随便写了用户名密码邮箱等,会报错。

应该去https://www.npmjs.com/注册一个账号,然后就填写注册账号时填写的用户名、密码和邮箱即可

这和去官方源仓库https://www.npmjs.com/注册是一样的

*上传包

npm publish

如果上传成功会提示  +somepackage_xiaotian@1.0.0 否则上传失败

这个时候去https://www.npmjs.com/登陆仓库账号就可以看到自己的包啦

*安装包

npm install hani1234567

通过此命令可以在世界上任一一台机器上安装hani1234567了。

 这个名字要和其他的不一样,其他人发布过的需要修改名字再发布

发布包过程可能会遇到很多问题,我印象比较深刻的是npm ERR publish 403

You do not have permission to publish 'somepackage'.Are you logged in as

the corrent user?:somepackage

意思是我没权限发布somepackage,并问我是否使用了正确的账号,

那也许是somepackage被别人发布过了吧,所以我修改了package.json文件

把name改成somepackage_xiaotian.

*分析包

这个命令可以为你分析出当前路径下能够通过模块路径找到的所有包,并生成依赖树。

用 npm ls 查看

添加命令行程序:http://www.cnblogs.com/tzyy/p/5196208.html

也就是在安装了自己发布的包了以后,设置指令。但是包需要安装在全局。在局部安装的还没有解决一个问题:他貌似会提示找不到路径。

原文地址:https://www.cnblogs.com/zuojiayi/p/6893330.html