整理一下在 npmjs.com 上面发布资源包踩过的坑
2021-10-25 15:41 金色海洋(jyk) 阅读(611) 评论(0) 编辑 收藏 举报正常流程就不说了,网上有很多,比如写代码、打包、注册、登录、发布等。
邮箱要激活
在 npmjs.com 上面注册账号的时候需要填写邮箱,然后登录网址的时候并没有强制要求你去邮箱激活。
但是到了发布资源包的时候,如果还没有去邮箱激活的话,就会报错。
具体出错信息记不清了,好像有 email 的字样。反正总之,先到邮箱里看看,找到npmjs.com 发的那封邮件,按照要求操作一下,就可以了。
不能和现有的资源包重名。
npmjs.com 上面的资源包的名称,按照先下手为强的原则,我先用这个名称发布了,那么这个名称就是我的,别人就不能用。所以想到了好名字,要先去占个坑。
版本号要更新。
每次发布的时候,版本号都需要升级一下,否则会报错。
OTP、Modify 2FA
发第一个包的时候,登录后(验证账号和密码)就可以发布了,但是当我发布第二个包的时候却报错了。
折腾了半天终于弄明白了,原理 npmjs.com 感觉只验证用户名和密码不够安全,怕被盗号,所以又加了一道锁。
这道锁类似于银行的U盾,当然不需要我们弄硬件设备,只需要在手机里面下载一个APP,然后扫 npmjs.com 里面的一个二维码,然后绑定上即可。
之后再做关键性操作的时候,就需要打开手机APP,找到六位验证码,输入后即可。比如登录、发布资源包等操作。
TLS1.2、E426、https
十月初发布资源包,又出现 E426 的错误,郁闷。
npm ERR! code E426
npm ERR! 426 Upgrade Required - PUT http://registry.npmjs.org/nf-state
npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\jyk00\AppData\Local\npm-cache\_logs\2021-10-08T04_52_56_113Z-debug.log
这次又是一次安全级别的提升,以前要求比较宽泛,现在要求更严格了,需要采用TLS1.2 的方式来发布。
然后找资料吧,各种找,一个比一个专业,比如升级 npm 的版本云云。但是还是报E426的错误。
最后在一次刷知乎的时候,终于找到了原因,就是修改 registry 的时候要使用 https。之前用的是http。
npm config set registry=https://registry.npmjs.org
想一想还是自己的错,一个是基础知识不扎实,不知道 TLS 和 https 是啥关系,另外出错信息也没有仔细看,或者说,因为看不懂而忽略了重要信息。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
2012-10-25 你的SQL语句放在了哪里?