是否npm install可以通过命令标志或环境变量指定自定义程序包目标?
默认情况下,npm本地安装最终会在node_modules当前目录中,但我希望它安装node_modules在不同的目录中,例如vendor/node_modules.我怎么能做到这一点?
我试图升级phonegap通过npm当我开始运行陷入困境.长话短说,node_modules我的电脑上有两个目录.
/usr/local/lib/node_modules
/usr/local/share/npm/lib/node_modules
Run Code Online (Sandbox Code Playgroud)
当我运行时npm upgrade -g phonegap,似乎npm更新了驻留的包的副本/usr/local/lib/node_modules.但是,如果我which phonegap发现符号链接指向较旧的安装位置/usr/local/share/npm/lib/node_modules.
此外,当我尝试安装一个独立的软件包,例如express,文件安装在/usr/local/lib/node_modules目录中,但在我的任何地方都没有创建可执行文件的符号链接$PATH.
两个问题:
npm在$PATH安装软件时配置链接可执行文件?加分:安装方法是否node会影响配置?有很多选择.
编辑:我发现我的符号链接正在创建/usr/local/bin,但我的.bash_profile设置/usr/local/share/npm/bin是/usr/local/bin在我的$PATH.我依稀记得在某些时候将这条路径添加到我的个人资料中,但我不确定为什么.
所以问题现在变成了:我如何node_modules在我的计算机上找到两个不同的目录,为什么我要将我node_modules的share/npm/lib子目录放在子目录中/usr/local/lib?