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

邮箱要激活

在 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. 矩阵BFS

    leetcode 1091矩阵BFS 在一个 N × N 的方形网格中,每个单元格有两种状态:空(0)或者阻塞(1). 一条从左上角到右下角.长度为 k 的畅通路径,由满足下述条件的单元格 C_1, ...

  2. javascript(2)运算符

    ### js运算符 1.运算符 1.typeof 获取当前变量类型 运算符(特殊) 2.= 赋值运算符 3.== 简要比较运算符(忽略变量的类型) 4.=== 标准比较运算符(严格变量的类型.判断是否 ...

  3. Python常见问题 - python3 requests库提示警告InsecureRequestWarning的问题

    当使用 requests 库发送请求时报了以下警告 D:\python3.6\lib\site-packages\urllib3\connectionpool.py:847: InsecureRequ ...

  4. BFD协议简介

    1. 背景 双向转发检测BFD(Bidirectional Forwarding Detection)是一种全网统一的检测机制,用于快速检测.监控网络中链路或者IP路由的转发连通状况. 为了保护关键应 ...

  5. php-fpm进程数控制

    一.名词解释 CGI是Common Gateway Interface(通用网管协议),用于让交互程序和Web服务器通信的协议.负责处理URL的请求,启动一个进程,将客户端发送的数据作为输入,有Web ...

  6. CommonsCollections1 反序列化利用链分析

    InvokerTransformer 首先来看 commons-collections-3.1-sources.jar!\org\apache\commons\collections\functors ...

  7. python中字符串的各种方法

     图片来源见水印,一个学python的公众号

  8. math.h库详解

    sin(double) cos(double) tan(double) 分别返回正弦,余弦,正切 #include<iostream> #include<math.h> usi ...

  9. python面向对象(封装,继承,多态)

    python面向对象(封装,继承,多态) 学习完本篇,你将会深入掌握 如何封装一个优雅的借口 python是如何实现继承 python的多态 封装 含义: 1.把对象的属性和方法结合成一个独立的单位, ...

  10. 基于React和GraphQL的黛梦设计与实现

    写在前面 这是笔者在中秋无聊写着玩的,假期闲暇之余憋出来的帖子.麻雀虽小,但五脏俱全,涉及到的方方面面还是蛮全的.所以就设计了一个黛梦(demo)------ 打通了GraphQL的接口与前端交互的流 ...