今天要往npm上面推包,结果一直报token过去,项目404
然后查了半天,发现是npm加个安全策略2FA,之前的token方式全部作废
怎么去打开2FA呢:
1.登录npm官网,找到account
2.然后找到2FA,去enable
3.这个时候会跳出一个网页,告诉你可以用物理密钥放入USB设备并插入电脑,或者可以用虚拟密钥。这里选择虚拟密钥
4.点击后会让你插上USB设备,直接点取消,然后选择用手机或者pad去获取密钥。
5.然后会出现一个二维码,这个时候打开手机原相机(不要是微信扫一扫)。以苹果为例,相机扫描二维码后,会提示你在苹果上进行认证。认证完之后,会给出一串密钥(记住,密钥要自己复制保持村好,因为提示以后都不会进行显示)。
6.密钥添加好以后,在cmd进行登录。
npm login --auth-type=legacy
输入账号,密码后,再输入一次性密码时,有一个网址,将此网址打开,是一个二维码,还是用手机原相机扫描后进行认证,然后会给出一次性密码
将密钥输入。输入npm whoami 可以看到自己账号说明登录成功
如何发布制品包
现在改了策略后,如果直接用npm publish会让你去网页上进行认证
现在可以直接用npm publish --auth-type=legacy。然后也是会给出一个网址,用原相机扫描后,给出一次性密钥,然后将密钥输入
如果制品工程是你自己的,就可以直接推包成功,如果制品工程不是你的,需要对应owner邀请你成为协作者后,可以推包成功