13

以下是有关该主题的相关文档:

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

看起来这些是等价的:

npm config set foo bar
npm set -g foo bar

所以我想如果我在npm set没有 -g 开关的情况下运行,那么它将更新我的本地 .npmrc 文件:

npm set foo bar

但是npm set没有 -g 标志没有更新我的本地 .npmrc 文件。npm set那么和之间到底有什么区别npm config set, -g 标志是干什么用的?

4

2 回答 2

26

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. 您无需编辑内置版本

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

于 2019-01-10T16:33:39.497 回答
3

npm 创建两个 .npmrc 文件。

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

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

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

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

于 2018-07-13T18:45:06.737 回答