如何用另一个文件夹替换NPM node_module文件夹?

Guy*_*and 9 node.js npm

默认情况下,NPM在"node_modules"下安装模块.有没有办法将其改为例如"my_modules?

mač*_*ček 7

所有节点模块的标准是使用该node_modules目录.

不要试图违背这个统一的标准.

你想通过自定义目录来完成什么?


注意:

以下命令将安装模块 my_project/node_modules/some_module

[~/my_project] $ npm install some_module
Run Code Online (Sandbox Code Playgroud)

如果您要安装模块并在系统上全局使用它们,则可以使用--global(-g)标志

[~/my_project] $ npm install -g some_module
Run Code Online (Sandbox Code Playgroud)

安装了-g标志的软件包安装到~/.npm


编辑

根据您的评论,您可以尝试安装包含package.json文件的任何目录

[~/my_project] $ npm install /path/to/my/pkg
Run Code Online (Sandbox Code Playgroud)

或者,您可以安装符号链接,而不是将整个模块复制到您的~/my_project/node_modules目录.

[~/my_project] $ npm link /path/to/my/pkg
Run Code Online (Sandbox Code Playgroud)

有关此内容的更多信息:

$ npm help install
$ npm help link
Run Code Online (Sandbox Code Playgroud)

  • 很惊讶我们会建议人们不要自定义文件夹位置.这看起来很僵硬.如果我有一个项目的一部分使用节点,我希望将其保留在该范围内而不是污染根目录,那么必须有一种方法.我认为这很容易用`.npmrc`之类的文件来处理,并一直在寻找答案.没有运气了.编辑:添加了关于.npmrc的行 (6认同)