我创建了package.json
,我运行npm install
,它运行正常。它在我的根文件夹中创建了一个node_modules
目录(我可以使用--prefix
选项进行更改)。但是,我不喜欢那么多的下划线。我想更改NPM将模块下载到的目录的名称。我希望将其命名为nmods
或node-modules
或类似名称。
Bower可以通过阅读当前目录中directory
文件中的.bowerrc
属性来做类似的事情。有没有办法对NPM做同样的事情?
答案 0 :(得分:40)
无法改变它。 node_modules
文件夹实际上并不特定于NPM,它是Node的核心模块加载系统的一部分。 Seen here in module.js
如你所提到的那样全局更改它也可能会破坏你正在使用的一些模块,因为模块有时包含其依赖关系已经存在于node_modules
中并且更改它会导致它被破坏。 / p>
答案 1 :(得分:2)
通过添加名为“ .yarnrc”的文件,您可以轻松实现此目标 内容如下:
# ./.yarnrc
--modules-folder lib
下次运行“ yarn”时,它将创建 lib 文件夹并在其中安装软件包,而不是在 node_modules 中安装软件包。
现在,只要能使'npm install'变得更聪明。
答案 2 :(得分:1)
无法在npm中对其进行更改,但是,可以在yarn package manager中进行配置。
yarn install --modules-folder <path>