NPM 能够创建访问令牌,并有权将包发布到 NPM 注册表,假设您已将包设置设置为“发布访问”中的“需要双因素身份验证或自动化令牌”(等等我认为它隐式地需要启用 2FA)。
如何使用此令牌进行发布?我检查了
npm publish
的输出——它要求输入 OTP 代码,作为提示或标志,在我启用 2FA 之前,它再次要求我输入密码。使用固定令牌比启动我的身份验证器应用程序更容易。我可以禁用 2FA,但让令牌正常工作更好。
npm 注册表有 3 种不同类型的令牌:只读、自动化和发布。
听起来您创建了一个发布令牌。您需要创建一个自动化令牌,因为这是唯一绕过 2FA 的令牌。
对于 verdaccio 或类似的,你可以使用这个:
> npm config set registry http://verdaccio/npm/
# then create and update local .npmrc file:
> npm config set _authToken=%YOUR_ACCES_TOKEN%
# and publish pointing to your registry
> npm publish --registry http://verdaccio/npm/
对于proget:
[~]$ npm config set registry http://proget/npm/private-npm
[~]$ npm config set always-auth true
[~]$ npm config set _auth {ENCODEDAPIKEY}
[~]$ npm config set email {email address}
# then as usual
[~]$npm publish --registry {YOUR_REGISTRY}
说明是这里 proget 和 这里 verdaccio
请尝试以下命令:
导出NPM_PUBLISH_TOKEN=1 纱线安装