是否npm install可以通过命令标志或环境变量来指定自定义包目标?
npm install
默认情况下,npm local安装最终会在node_modules当前目录中进行,但是我希望它安装node_modules在其他目录中vendor/node_modules。我该如何实现?
node_modules
vendor/node_modules
您可以通过使用--prefix标志和--global*标志来实现。
--prefix
--global
pje@friendbear:~/foo $ npm install bower -g --prefix ./vendor/node_modules bower@0.7.0 /Users/pje/foo/vendor/node_modules/bower
*即使这是“全局”安装,除非~/foo/vendor/node_modules存在中,否则无法通过命令行访问已安装的垃圾箱PATH。
~/foo/vendor/node_modules
PATH
的每个可配置属性npm都可以在六个不同的地方设置。按优先顺序:
npm
--prefix ./vendor/node_modules
NPM_CONFIG_PREFIX=./vendor/node_modules
$HOME/.npmrc
userconfig
$PREFIX/etc/npmrc
path/to/npm/itself/npmrc
默认情况下,本地安装的软件包进入./node_modules。全局prefix变量进入config变量(/usr/local默认情况下)。
./node_modules
prefix
/usr/local
您可以运行npm config list以查看当前配置并npm config edit进行更改。
npm config list
npm config edit
一般而言,npm的文档确实很有帮助。该文件夹的部分是新公共管理的一个良好的结构概述和配置部分回答了这个问题。