昨天做好了第二个npm的包,发布到npm的时候报错了,今天又研究了一上午,终于给搞定了。
原来是npm觉得只靠账号和密码就可以发包,安全性太差,还需要加一个验证方式才可以,就是2FA。中文叫做“双因素验证”。
npm给的使用流程是这样的:https://docs.npmjs.com/configuring-two-factor-authentication
具体的看那个网页吧,简单地说,就是找到这个按钮,
然后选择第二个:
然后需要手机下载 Authenticator App ,建议在商店下载,打开APP选择个人登录,选择 QR码,现在可以扫npm网站上面的那个二维码了。
打开APP里面的账号,可以看到六位数字,填到npm网站的code里面。
然后npm的账号和 Authenticator 就绑定在一起了。
以后再用 npm登录、发包的时候都需要带上这个数字,这个叫做OTP,一次性密码,每30秒换一个新的,注意别超时。
比如这样:
npm publish [<tarball>|<folder>][--tag <tag>] --otp=123456
npm owner add <user > --otp=123456
npm owner rm <user> --otp=123456
npm dist-tags add <pkg>@<version> [<tag>] --otp=123456
npm access edit [<package>) --otp=123456
npm unpublish [<@scope>/]<pkg>[@<version>] --otp=123456
发包
npm publish --otp=123456
123456 表示APP里面的那个数字,每次都要使用APP里面最新的。
这个有点像网银的优盾。也可以理解为短信验证码。
然后,运气好的话,就可以发包了。
祝贺大家好运。