我的npm模块应该在Mac OS X上安装在哪里?
当我开始遇到麻烦时,我试图通过npm
升级phonegap
。 长话短说,我的电脑上有两个node_modules
目录。
/usr/local/lib/node_modules /usr/local/share/npm/lib/node_modules
当我运行npm upgrade -g phonegap
,看起来npm
更新驻留在/usr/local/lib/node_modules
中的软件包的副本。 但是,如果我find了符号链接指向/usr/local/share/npm/lib/node_modules
的较旧安装的电话/usr/local/share/npm/lib/node_modules
。
另外,当我尝试安装独立软件包(如express
,这些文件将安装在/usr/local/lib/node_modules
目录中, 但在 $PATH
中的任何位置都不会创build可执行文件的符号链接。
两个问题:
- 哪个是Mac OS X上节点模块的正确目录?
-
如何在安装软件时将npm
configuration为在$PATH
链接可执行文件?
加分:安装node
的方法是否影响configuration? 有很多select 。
编辑 :我想通过在/usr/local/bin
创build符号链接,但是我的.bash_profile
是在$PATH
的/usr/local/bin
之前用/usr/local/share/npm/bin
。 我依稀记得在某个时候添加到我的个人资料的path,但我不知道为什么。
所以现在的问题就变成了:我的计算机上如何得到两个不同的node_modules
目录,为什么我要在/usr/local/lib
目录中的share/npm/lib
子目录中保存我的node_modules
而不是正确的?
/usr/local/lib/node_modules
是全局安装节点模块的正确目录。
/usr/local/share/npm/lib/node_modules
对我没有任何意义。 这里有一个问题是你感到困惑,因为有两个名为node_modules的目录:
/usr/local/lib/node_modules
/usr/local/lib/node_modules/npm/node_modules
后者似乎是Node附带的节点模块,例如lodash,前者是我安装的Node模块。
第二个托马斯·大卫·基欧 ,以下警告 –
如果您正在使用节点版本pipe理器(nvm),那么您的全局节点模块将被存储在您保存模块时使用的任何版本的节点下。
所以~/.nvm/versions/node/{version}/lib/node_modules/
。