首先需要去npm官网注册一个账号
https://www.npmjs.com/
注册好账号之后,如果你本地使用的是淘宝的镜像,则需要将本地的npm源切换成npm自己的地址
查看当前镜像源
npm get registry
切换淘宝镜像源
npm config set registry http://registry.npm.taobao.org
切换npm源
npm config set registry https://registry.npmjs.org/
切换成npm源后打开终端,如果是第一次在本机发包,则先添加你的npm账号到本地。输入命令
npm adduser
输入你的用户名,回车,然后再输入密码
依次输入用户名 密码 邮箱 验证码,即可登陆成功。
如果不是第一次发包则直接npm login 登陆就行
接着npm publish 发布即可
如果有不想发布出去的文件,就可以将它写入.gitignore 或.npmignore中,上传就会被忽略了
发布好之后就可以在npm上搜到你的包了。
记住每次发布的包版本号都需要变更,不然会导致发布失败。
下面总结我在发布时遇到的几个发布失败的错误码,以及解决方法
1、401
401一般就是你的账号密码输入有误导致的。自己核对后重新登陆即可
2、402
这个问题一般是你尝试发布到公共范围导致的问题
npm ERR! code E402
npm ERR! 402 Payment Required - PUT https://registry.npmjs.org/.... - You must sign up for private packages
因为默认访问级别为私有。要解决此问题,可以设置npm config set access public或添加以下内容到package.json
{
// ...
// 添加以下
"publishConfig": {
"access": "public",
"registry": "https://registry.npmjs.org/"
}
// ...
}
3.403
一般出现403就表示你的包名已经被别人使用了。解决办法就是换一个包名。
但大多数时候我建议你将包放在一个唯一的域下,这样以后你的包就不会出现和别人重名的情况,一般这个域会以你的npm username为名,前面加上@。
例如 @username/xxx
4.404
出现404的问题,就是你的组织未找到,也就是403状态码中解决办法提到的将包放到一个私有的域下。这个名字你当然不能胡乱写,npm会去搜索是否有这个名字,有的话将你本次的包添加到他下面,没有就会给你报404的错误了。所以大多数时候直接以你的npm 用户名就行了
以上就是本篇的全部内容