![](/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.