首先需要去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
![](https://img.haomeiwen.com/i21286321/0eb7bff6d55a74f0.png)
输入你的用户名,回车,然后再输入密码
![](https://img.haomeiwen.com/i21286321/24e994974bef4193.png)
依次输入用户名 密码 邮箱 验证码,即可登陆成功。
如果不是第一次发包则直接npm login 登陆就行
接着npm publish 发布即可
如果有不想发布出去的文件,就可以将它写入.gitignore 或.npmignore中,上传就会被忽略了
发布好之后就可以在npm上搜到你的包了。![](https://img.haomeiwen.com/i21286321/6a263e6ef02989b0.png)
记住每次发布的包版本号都需要变更,不然会导致发布失败。
下面总结我在发布时遇到的几个发布失败的错误码,以及解决方法
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
- 404
出现404的问题,就是你的组织未找到,也就是403状态码中解决办法提到的将包放到一个私有的域下。这个名字你当然不能胡乱写,npm会去搜索是否有这个名字,有的话将你本次的包添加到他下面,没有就会给你报404的错误了。所以大多数时候直接以你的npm 用户名就行了
以上就是本篇的全部内容
网友评论