记一次npm发包失败的经历

系统管理员 2022-05-09 03:52 593阅读 0赞

前言

早就注册了npm,就发布了一版测试包,搁置到此,最近想封装一些常用组件,发布到npm上面,也算是一种技术储蓄了。

从昂首挺胸到灰头土脸

正常的发布流程其实很简单:

  • 注册个npm账号
  • 本地使用npm登录npm login,填写用户名、密码、邮箱完成登录
  • 在待发布的文件内执行npm publish,即可完成npm包的发布

按照这个流程,直接登录就可以了,之前我已注册完成了,直接npm login后输入信息,回车。

0065uj2jly1fvril872t8j30o504faa8.jpg

  1. Registry returned 409 for PUT on https://registry.npm.taobao.org/-/user/org.couchdb.user:1091214370: conflict

我自己登录自己的账号,你还跟我报冲突!!!!!

根据提示去看日志,

  1. 6 http request POST http://r.cnpmjs.org/-/v1/login
  2. 7 http 404 Not Found (http://r.cnpmjs.org/-/v1/login)

在npm的github的issue里面看到了两种导致问题出现的原因:

  1. .npmrc文件内容改动
  2. node.js的8.0版本的bug

修改.npmrc文件内容:

  1. https://registry.npmjs.org/

直接卸载node装最新的也可以,不过有点暴力。

继续执行npm login,填完信息很顺利的看到了Logged in as 1091214370 on https://registry.npmjs.org/.,说明我已经登录成功了,下面执行发布吧npm publish

跌倒不可怕,站起来接着跌倒呗。

0065uj2jly1fvrjoipqgnj30jp08cdgb.jpg

  1. You do not have permission to publish "xc". Are you logged in as the correct user? : xc

看到了403和日志输出,我自己的包我没有权限?
好吧我错了,这包的名字被人占用了,我换个名字吧。

更换名称xc为choicesaas,再次发布。

0065uj2jly1fvrjrfx7o3j30fv07qaag.jpg

看到最后一行日志打印的内容,即表示发布成功了,一波三折。。。。。

吐槽

npm的重名校验逻辑不清晰呀,好歹提示下存在重名包呀!

发表评论

表情:
评论列表 (有 0 条评论,593人围观)

还没有评论,来说两句吧...

相关阅读

    相关 失败面试经历

    出来找实习工作也差不多半个月了,前后面试了几家公司,基本上都由失败告终 还误打误撞到几家培训机构 总结了这几次的面试情况: 一、 专业技能掌握太少,只会一些基础,而

    相关 面试经历

    都说大三下学期的后半段是收获的季节,是的,因为这个时候的计算机专业学生的技术基础,知识储备等都有些成熟,或者说,基本达到用人单位培养使用的标准。 于是乎,抱着试一试的心态