正常流程就不说了,网上有很多,比如写代码、打包、注册、登录、发布等。

邮箱要激活

在 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 是啥关系,另外出错信息也没有仔细看,或者说,因为看不懂而忽略了重要信息。

整理一下在 npmjs.com 上面发布资源包踩过的坑的更多相关文章

  1. 这里整理了基于java平台的常用资源

    这里整理了基于java平台的常用资源 翻译 from :akullpp | awesome-java 大家一起学习,共同进步. 如果大家觉得有用,就mark一下,赞一下,或评论一下,让更多的人知道.t ...

  2. 吐血整理:人工智能PDF中文教材资源包2.73G基本包含全部学习资料-人工智能学习书单

    吐血整理:人工智能PDF中文教材资源包2.73G基本包含全部学习资料 人工智能学习书单(关注微信公众号:aibbtcom获取更多资源) 文末附百度网盘下载地址 人工神经网络与盲信号处理 人工神经网络与 ...

  3. Liferay 6.2 改造系列之二十二:如何发布WAR包

    1.修改web资源并发布 如果修改了默认主题信息,需执行portal-web中的build-themes任务: 执行portal-web中的deploy任务: 2.修改portal-impl中的jav ...

  4. Gradle实战:发布aar包到maven仓库

    查看原文:http://blog.csdn.net/u010818425/article/details/52441711 Gradle实战系列文章: <Gradle基本知识点与常用配置> ...

  5. 创建并发布npm包

    1.npm官网创建npm账户 npm网站地址:https://www.npmjs.com/ npm网站注册地址:https://www.npmjs.com/signup 2.命令行工具登录npm np ...

  6. 手把手教你用npm发布一个包,详细教程

    我们已经实现了路由的自动化构建,但是我们可以看到,一大串代码怼在里面.当然你也可以说,把它封装在一个JS文件里面,然后使用require('./autoRoute.js')给引入进来,那也行.但是,为 ...

  7. iOS 中 .a 和 .framework 静态库的创建与 .bundle 资源包的使用

    iOS 中 .a 和 .framework 静态库的创建与 .bundle 资源包的使用 前言 开发中经常使用三方库去实现某特定功能,而这些三方库通常又分为开源库和闭源库.开源库可以直接拿到源码,和自 ...

  8. 从零开始学习PYTHON3讲义(十六)(连载完)学习资源包下载

    <从零开始PYTHON3>学习资源包下载 课程连载已经完全结束. 经过整理校对,这里把在课程中出现过的源码和练习答案示例源码全部打包提供下载: https://pan.baidu.com/ ...

  9. 怎么用npm发布一个包,详细教程

    我们已经实现了路由的自动化构建,但是我们可以看到,一大串代码怼在里面.当然你也可以说,把它封装在一个JS文件里面,然后使用require('./autoRoute.js')给引入进来,那也行.但是,为 ...

随机推荐

  1. Kubernetes的安装部署

    前言:简述kubernetes(k8s)集群 k8s集群基本功能组件由master和node组成. master节点上主要有kube-apiserver.kube-scheduler.kube-con ...

  2. Linux环境搭建及项目部署

    一. VMWare安装图解 1.点击下一步 2.接受条款,下一步 3.选择安装目录,不建议有中文目录和空格目录.下一步 4.下一步 5.这两个选项根据可以爱好习惯选择,下一步 6.安装 7.完成 9. ...

  3. 板子题 Sol

    RT Cyber_Tree 出了一道板子题... 这题乍看之下貌似还不戳,但如果您做过类似的题,那么这就是一道板子题.... 首先明确要求的是什么,如果我们只考虑权值最大而不考虑最小距离,那么要求的显 ...

  4. MongoDB(9)- 文档查询操作之 find() 的简单入门

    find() MongoDB 中查询文档使用 find() find() 方法以非结构化的方式来显示所要查询的文档 语法格式 db.collection.find(query, projection) ...

  5. 给dubbo贡献源码,做梦都在修bug

    本文已收录 https://github.com/lkxiaolou/lkxiaolou 欢迎star. 一 在之前的文章<redis在微服务领域的贡献>中,从一次面试经历中了解了redi ...

  6. 计算机基础知识以及java JDK、JRE

    计算机 计算机(Computer)全称:电子计算机,是一种能够按照程序运行,自动.高速处理海量数据的现代化智能电子设备.由硬件和软件所组成,没有安装任何软件的计算机称为裸机.常见的形式有台式计算机.笔 ...

  7. uni-app开发基本知识点

    uni-app: 开始:必须要有一个根view结点. 外部文件引用方式的变化: js要require进来,变成了对象. <script> var util = require('../.. ...

  8. python刷题第四周

    本周有所收获的题目: 第一题: 第4章-17 水仙花数(20 分) (20 分) 水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身. 例如:153=1×1×1+5×5×5 ...

  9. 一生挚友redo log、binlog《死磕MySQL系列 二》

    系列文章 原来一条select语句在MySQL是这样执行的<死磕MySQL系列 一> 一生挚友redo log.binlog<死磕MySQL系列 二> 前言 咔咔闲谈 上期根据 ...

  10. 防刷功能的实现(thinkphp5)

    $seconds = '3'; //时间段[秒] $refresh = '3';//最大次数 $cur_time = time(); if(Session::get('refresh_times')) ...