[英]npm command not found after restart
計算機重新啟動后, npm
命令變得無法識別:
-bash: npm: command not found
node
命令仍然正常,它只是npm
不起作用。 我必須從主站點重新安裝Node.js才能讓它再次運行。
~/bin
添加到我的.bash_profile
$PATH
中:
export PATH="$HOME/bin:$PATH"
編輯:我也使用管理自己版本的完整mathiasbynens / dotfiles ,我想知道這里是否存在沖突。
我沒有解釋,但有一些指示:
正如@LaurentPerrin所述, node
(通過其官方安裝程序包)安裝到/usr/local/bin
。
(你為什么提到~/bin
?)
請注意,如果您通過node.js版本管理器nvm使用用戶級安裝,則適用不同的規則,在這種情況下,[符號鏈接到]可執行文件放在~/.nvm/v{version}/bin
因此, node
可執行文件應該是/usr/local/bin/node
。
這是(僅)您在運行which -a node
時看到的內容?
node
可執行文件直接放在/usr/local/bin
,而npm
只是一個指向/usr/local/lib/node_modules/npm/bin/npm-cli.js
的符號鏈接 ,這是一個帶有shebang的可執行節點腳本line #!/usr/bin/env node
。
當你跑步
ls -l /usr/local/bin/npm
你應該看到類似的東西
lrwxr-xr-x 1 root wheel 38 Dec 13 11:52 /usr/local/bin/npm -> \
../lib/node_modules/npm/bin/npm-cli.js
查看符號鏈接是否存在並指向正確的文件。
如果仍然無效,請嘗試直接調用npm-cli.js
,看看會發生什么(這應該顯示npm的命令行幫助):
/usr/local/lib/node_modules/npm/bin/npm-cli.js help
在OSX上,節點安裝在/usr/local/bin
,需要在您的路徑中。 以root身份編輯/edit/paths
( sudo nano /etc/paths
)並確保它在第一行。 它應該如下所示:
/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin
然后,您可以通過運行: source /etc/profile
強制bash刷新路徑。
我遇到了同樣的問題(在OSX上)。 不確定這是否適合您,但我最終在這里找到了npm:
.nvm/v0.10.22/bin
或者,根據您的版本
.nvm/v0.10.21/bin
然后我打印了我的工作目錄並將其添加到我的路徑中。 所以對我來說,當我打開終端時:
cd .nvm/v0.10.22/bin
pwd
>> /path/to/.nvm/v0.10.22/bin
希望有所幫助。
我使用nvm來安裝node.js. 我通過將$HOME/.nvm/v0.10.25/bin
到$PATH
來解決它。 所以問題是無法找到路徑。
我也有同樣的問題。 我的解決方案是使用sudo ...
我猜這是因為許可問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.