npm publish报错记录

403 Forbidden

按照文档中的步骤,注册登录后,准备好了库,然后执行npm publish,报了下面的错误:

Error: 403 Forbidden - PUT registry.npmjs.org/xx - You do not have permission to publish "xx". Are you logged in as the correct user?

查询资料后,发现于来世因为公开的库里面,已经有了同名的库。由于是免费的账号,所以想在npm上发包,要么换个名称,要么花钱创建私有包。还有一种方式就是在内网搭建自己的npm服务

Error:402 Payment Required

换了个名字,想起了自己建过的库,就模仿加了个@前缀的包,再次发布的时候,报了下面的错误:

Error: 402 Payment Required - PUT registry.npmjs.org/@xx/xx - You must sign up for private packages

查看文档,发现@npm/package-name这种形式的包名,是有作用域的包名形式,执行npm publish的时候默认是发布私有的包。因此,第一种方式是花钱买私有包的服务,另外一种方式就是指定参数,表示公开:

npm publish --access public

需要注意的是这种形式的包名跟npm账户有对应的关系,不能随便填写。

npm init --scope=@my-org

这种形式表示是一个组织,my-org对应是npm中的组织名

npm init --scope=@my-username

这种形式表示个人,my-username对应是npm中的用户名

上一篇:JavaScript 数据结构与算法之美 - 归并排序、快速排序、希尔排序、堆排序


下一篇:【HDU 4276】The Ghost Blows Light(树形DP,依赖背包)