npm配置-全局与本地

2 node.js npm npmjs npm-config

以下是与此主题相关的文档:

https://docs.npmjs.com/cli/config

看起来这些是等效的:

npm config set foo bar
npm set -g foo bar
Run Code Online (Sandbox Code Playgroud)

所以我认为,如果我npm set不带-g开关运行,那么它将更新我的本地.npmrc文件:

npm set foo bar
Run Code Online (Sandbox Code Playgroud)

npm setW / O -g标志都没有更新我的本地.npmrc文件。那么,什么是地狱之间的差别npm setnpm config set,什么是-g标志?

小智 6

npm 创建两个 .npmrc 文件。

  1. 一个是本地的(特定于每个用户)
  2. 以及一个全局存储所有用户的配置。

npm config命令用于更新 .npmrc 文件中的配置并从中检索配置。

  • 当我们使用 -g 标志时,会对全局 .npmrc 文件进行更改。
  • 如果 -g 不存在,则对本地文件进行更改。

npm config setnpm set两个命令都做同样的事情。


cqu*_*zel 6

npm使用了4个npmrc文件(参考:https ://docs.npmjs.com/files/npmrc.html )。

  1. 每个项目的配置文件(/path/to/my/project/.npmrc)
  2. 每个用户的配置文件(〜/ .npmrc)
  3. 全局配置文件($ PREFIX / etc / npmrc)
  4. npm内置配置文件(/ path / to / npm / npmrc)

他们是这样修改的:

  1. 似乎没有标准的方法(命令)来为每个项目的配置文件设置值。我认为您必须使用文本编辑器进行编辑。

  2. 您可以使用该npm [config] set命令设置每个用户的值。

  3. 您可以使用该npm [config] set -g命令设置全局值。

  4. 您无需编辑内置版本

在您的情况下使用第一种方法。

  • 从 v7 开始,有 [`npm config -L|--location`](https://docs.npmjs.com/cli/v7/commands/npm-config#location) 参数。您可以指定“global”、“user”或“project”。后者允许修改本地`.npmrc`。 (9认同)