【发布时间】:2012-11-20 00:35:03
【问题描述】:
默认情况下,NPM 是在“node_modules”下安装模块。 有没有办法将其更改为例如“my_modules”?
【问题讨论】:
默认情况下,NPM 是在“node_modules”下安装模块。 有没有办法将其更改为例如“my_modules”?
【问题讨论】:
所有节点模块的标准是使用node_modules目录。
不要试图违背这个统一的标准。
您想通过自定义目录来完成什么?
注意:
以下命令将安装一个模块到my_project/node_modules/some_module
[~/my_project] $ npm install some_module
如果您想安装模块并使它们在您的系统上全局可用,您可以使用--global (-g) 标志
[~/my_project] $ npm install -g some_module
使用-g 标志安装的包安装到~/.npm
根据您的评论,您可以尝试安装任何包含package.json 文件的目录
[~/my_project] $ npm install /path/to/my/pkg
或者,您可以安装符号链接,而不是将整个模块复制到您的 ~/my_project/node_modules 目录。
[~/my_project] $ npm link /path/to/my/pkg
有关此的更多信息:
$ npm help install
$ npm help link
【讨论】:
.npmrc 之类的文件很容易做到这一点,并且一直在寻找答案。还没有运气。编辑:添加了关于 .npmrc 的行
mkdir foo; cd foo; npm init; npm install whatever,您的节点应用程序将位于foo,您的节点模块将安装到foo/node_modules。这遵循 npm 标准并很好地组织您的节点应用程序。