繁体   English   中英

我的 npm 模块应该安装在 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中的任何位置都没有创建指向可执行文件的符号链接。

两个问题:

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

在此输入图像描述

按CMD + Shift G并粘贴此URL。

文件夹usr是隐藏的,因此一般搜索时它不可见。

使用这个命令: npm -t -> 找到你的全局 npm 包的路径。

如果您使用的是 nvm(节点版本管理器包)。 然后你的路径可能看起来像这样/Users/yourName/.nvm/versions/node/v14.15.3/lib/node_modules/npm

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM