![](/img/trans.png)
[英]npm -g install modules in a npm folder in my home folder on Mac OS X
[英]Where should my npm modules be installed on 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
中的包的副本。 但是,如果我发现which phonegap
符号链接指向/usr/local/share/npm/lib/node_modules
的旧安装。
此外,当我尝试安装诸如express
独立软件包时,这些文件安装在/usr/local/lib/node_modules
目录中,
但在我的
$PATH
中的任何位置都没有创建指向可执行文件的符号链接。
两个问题:
npm
以链接我的
$PATH
可执行文件?
加分项:安装node
的方法会影响配置吗? 有很多选择。
编辑:我发现在我的/usr/local/bin
创建了符号链接,但是我的.bash_profile
是在我的$PATH
的/usr/local/bin
之前使用/usr/local/share/npm/bin
。 我隐约记得在某个时候将该路径添加到我的个人资料中,但我不知道为什么。
所以现在的问题变成了:我是如何在我的计算机上得到两个不同的node_modules
目录的,为什么我要把我的node_modules
放在share/npm/lib
子目录中,而不是放在/usr/local/lib
?
/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
,而前者是我使用npm
安装的 Node 模块。
第二个托马斯大卫基霍,有以下警告——
如果您使用节点版本管理器 (nvm),您的全局节点模块将存储在您保存模块时使用的任何版本的节点下。
所以~/.nvm/versions/node/{version}/lib/node_modules/
。
npm root -g
检查 npm_modules 全局位置
如果你想知道你的 NPM 包的位置,你应该:
which npm // locate a program file in the user's path SEE man which
// OUTPUT SAMPLE
/usr/local/bin/npm
la /usr/local/bin/npm // la: aliased to ls -lAh SEE which la THEN man ls
lrwxr-xr-x 1 t04435 admin 46B 18 Sep 10:37 /usr/local/bin/npm -> /usr/local/lib/node_modules/npm/bin/npm-cli.js
因此,鉴于 npm 本身就是一个节点包,它与其他包( EUREKA )安装在同一位置。 所以要确认你应该 cd 进入 node_modules 并列出目录。
cd /usr/local/lib/node_modules/
ls
#SAMPLE OUTPUT
@angular npm .... all global npm packages installed
npm root -g
根据@anthonygore 的评论
查找当前活动npm
安装的当前路径:
npm root -g
或尝试以下流行的默认设置之一:
Linux:
/usr/local/lib/node_modules
MacOS(通过 brew 安装):
/opt/homebrew/lib/node_modules
与 nvm 一起安装时的 Linux(也可能是 macos):
~/.nvm/versions/node/{version}/lib/node_modules/
窗户(奖金🎉)
C:\\Program Files\\nodejs\\node_modules\\
使用这个命令: npm -t
-> 找到你的全局 npm 包的路径。
如果您使用的是 nvm(节点版本管理器包)。 然后你的路径可能看起来像这样/Users/yourName/.nvm/versions/node/v14.15.3/lib/node_modules/npm
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.