问题
在公司中与同事一起共同维护发布一个npm包(不同的npm账号共同维护同一个npm包),当我npm publish 下一个版本的时候,出现报错,内容如下
npm ERR! code E403
npm ERR! 403 403 Forbidden - PUT https://registry.npmjs.org/npm包名 - You do not have permission to publish "npm包名". Are you logged in as the correct user?
npm ERR! 403 In most cases, you or one of your dependencies are requesting
npm ERR! 403 a package version that is forbidden by your security policy.
原因
这个包名已经有人发布过,我没有权限去发布同名的包。(ps:同事是首发者,我是后来加入要发布下一版本的npm包)
解决
让有权限发布这个npm的(同事)账号,执行命令npm owner add 我的npm账户名 npm包名 ,把我的账户加入到这个npm的拥有者列表,这样我就有权限发布这个npm包的下一个版本了
其他相关命令
npm owner add <user> [<@scope>/]<pkg>
npm owner rm <user> [<@scope>/]<pkg>
npm owner ls [<@scope>/]<pkg>
发包整体流程(非首发者)
第一步:你得先有自己的npm账户 第二步:让npm包的拥有者把你加入到拥有者列表 第三步:打包项目,切换到打包输出目录路径下,切换到npm源 第四步:执行命令npm adduser ,然后输入用户名、密码、邮箱(登录自己的npm账户) 第五步:执行npm publish 发布
首次操作,通过以上五步即可发布下一版本的npm包;再下次发布的时候,只需执行第三、第五步即可;
参考文档
|