一尘不染

我的npm模块应在Mac OS X上的什么位置安装?

node.js

当我开始遇到麻烦时,我试图phonegap通过进行升级npm。长话短说,node_modules我的计算机上有两个目录。

/usr/local/lib/node_modules
/usr/local/share/npm/lib/node_modules

当我运行时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

两个问题:

  • Mac OS X上节点模块的正确目录是哪个?
  • 安装软件时, 如何配置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


阅读 700

收藏
2020-07-07

共1个答案

一尘不染

/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模块时npm

2020-07-07