如何将npm配置保存到项目.npmrc文件中?

Mik*_*raf 11 npm

我希望运行npm config在项目的.npmrc文件中设置值. Docs似乎没有说明如何指定一个文件来保存值.

寻找类似的东西 npm config --file /path/to/repo/.npmrc set key value

试图将它用于需要从env vars构建.npmrc文件的构建脚本.

mkl*_*nt0 14

令人困惑的是,从 npm v6.9.0 开始,这似乎仍然没有直接支持。

这有点尴尬,但是如果您的 npm 版本足够新,您可以重新调整--userconfig选项npm config特定项目的.npmrc文件进行操作。

例如,从给定项目的根文件夹中,以下命令pwsh通过npm config对本地.npmrc文件进行操作,将(PowerShell Core)本地配置为用于运行脚本的 shell --userconfig

# Updates .npmrc in current dir
npm config set script-shell pwsh --userconfig .npmrc
Run Code Online (Sandbox Code Playgroud)

注意:正如Kerry Johnson指出的:

  • 目标文件被整体重写,在此过程中,原始文件中的任何注释(-#前缀行)都会丢失(但所有键值对都被保留)。

  • config关键字是在这种情况下可选的,所以下面会做什么:

    npm set script-shell pwsh --userconfig .npmrc
    
    Run Code Online (Sandbox Code Playgroud)

  • 从“npm@8”开始,提供了新的配置选项“-L, --location <global|user|project>”,这意味着您不再需要指定“--userconfig”之类的文件名。但是 `--userconfig <file>` 仍然有效。 (14认同)