运行`npm install`时是否可以覆盖本地.npmrc?

pdo*_*926 5 javascript heroku node.js npm

我的项目的根目录中有一个.npmrc,其中包含臭名昭著的$ {NPM_TOKEN}骇客,并且CI,登台,生产等都需要。

为了解决这一现实,我希望开发人员能够在安装依赖项时告诉npm使用其他.npmrc,其中包含他们的 _authToken。有点像npm install . --npmrc=~/.npmrc。这将防止他们不得不污染系统的环境变量,.bash_profile等。

目前可以吗?(似乎不是……)如果没有,那么是否有任何原因导致这种方法不可能(极不可能)或NPM团队不会考虑?

小智 16

我有一个类似的问题,我的解决方案是将项目级别 .npmrc 重命名为 .npmrc-ci 之类的名称,这样它就不会与本地环境混淆,而在mv .npmrc-ci .npmrc运行任何 npm 命令之前在 ci 脚本中添加。


pdo*_*926 8

幸运的是,这个选项已经存在,可以像这样使用:

npm install . --userconfig=~/.npmrc
Run Code Online (Sandbox Code Playgroud)

  • 这似乎不起作用。当我从具有“$PROJECT/.npmrc”的项目中运行“npm --userconfig=~/.npmrc whoami”时,它仍然显示项目中的用户名,而不是我的用户配置。 (3认同)
  • 这将设置用户用户特定的配置,该配置仍将被本地项目特定的 .npmrc 覆盖,不是吗? (2认同)