向 npm login 命令行提供凭据

Give credentials to npm login command line

我需要在脚本中传递 npm login 的凭据 有没有办法提供类似于 git 凭据的凭据?

git clone https://username:password@github.com

看看 .npmrc file 您可以使用此文件设置 npm 配置变量,例如凭据、注册表位置等...此文件位于您的 HOME 目录。这是一个示例 .npmrc 文件供参考:

~/.npmrc

registry=https://registry.npmjs.com/
_auth="<token>"
email=<email>
always-auth=true

将您的电子邮件和_auth token 适当地替换为您的凭据。您的脚本将使用在您的 .npmrc 文件中设置的这些全局配置。

希望对您有所帮助!

几个月前我找到了一个 npm 包,但我忘了更新这个问题。

只需安装 npm-cli-login 并在 terminal/scripts 中按如下方式使用它:

npm-cli-login -u testUser -p testPass -e test@example.com

我发现了另外两种无需使用外部命令即可传递凭据的方法,但请注意,这些命令可能无法在 Jenkins 等环境中运行。

命令:

# First way
echo -e 'USERNAME\nPASSWORD\nEMAIL' | npm login -e EMAIL -r REGISTRY

# Second way
npm login -e EMAIL -r REGISTRY << EOF
USERNAME
PASSWORD
EMAIL
EOF

从命令行输入 npm login 并输入您的凭据将自动生成一个 npm 令牌并为您设置 .npmrc 文件。

这个答案正在运行。

为了更有帮助,当您键入 npm login 并以交互方式输入用户名和密码时,npm 会自动为您生成一个 auth_token 并将其插入到 .npmrc 中。

鉴于 username/password 相同,auth_token 是常数。

对于 cli 用法,您可以 echo //registry.npmjs.org/:_authToken=npm_MY_TOKEN > ~/.npmrc 而不是 npm login ...