npm config-全局与本地

时间:2018-07-13 18:10:32

标签: node.js npm npmjs npm-config

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

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

这些看起来是等效的:

npm config set foo bar
npm set -g foo bar

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

npm set foo bar

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

2 个答案:

答案 0 :(得分:2)

npm创建两个.npmrc文件。

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

return [ 'class' => 'yii\db\Connection', 'dsn' => 'mysql:host=127.0.0.1;dbname=app', 'username' => 'app', 'password' => 'secret', 'charset' => 'utf8', 命令用于更新和检索.npmrc文件中的配置。

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

npm confignpm config set这两个命令执行相同的操作。

答案 1 :(得分:2)

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

使用第一种方法。