我正在使用两个NPM帐户:一个公共(public)帐户和一个私有(private)帐户。我将如何设置它,以免每次在其他帐户上发布模块时都不需要npm login
?
UPD:寻找NPM内置解决方案,因此没有shell脚本之类的东西
最佳答案
这就是我解决具有4个不同NPM登录名的方式。
.gitignore
(以及NPM模块的.npmignore
)中添加以下行:.npmrc
。这将确保您永远不会提交(或发布).npmrc
文件。 .npmrc
文件://registry.npmjs.org/:_authToken=11111111-1111-1111-1111-111111111111
(将GUID替换为实际的NPM身份验证 token ,例如,您可以从~/.npmrc
抓取它)npm
CLI将在当前文件夹中查找.npmrc
文件(或在任何父文件夹中),并将其用于身份验证。结果,所有
npm
命令均按原样工作,无需传递--userconfig
或其他任何内容。除上述内容外,您还可以在计算机/笔记本电脑上使用默认 NPM token 。
.npmrc
中不存在.gitignore
(这对于大多数项目很常见)。 .npmrc
文件。放到里面://registry.npmjs.org/:_authToken=${NPM_TOKEN}
。这将使npm
使用NPM_TOKEN
env。变种如果这样的环境,npm
将中止。变种找不到。 NPM_TOKEN
环境变量。例如。 NPM_TOKEN=11111111-1111-1111-1111-111111111111
。我在~/.bash_profile
中有它。 提交了此文件的所有项目,都将使用环境变量
NPM_TOKEN
进行npm auth。结果,所有npm命令均按原样工作,无需传递
--userconfig
或其他任何内容。对于CI(连续集成)来说,这是足够好的和安全的。所有CI都允许您设置环境变量。使用这种方法,您可以通过一个简单的env来更改NPM用户。变种改变。
专业提示
键入
npm whoami
命令以检查文件夹中当前正在使用的 token 。