
我剛剛在我的機器上升級了nodejs。我卸載了我擁有的節點版本(ubuntu 儲存庫中的版本)。然後我安裝了nvm並安裝了nodejs 4.2.2。
一切都沒有錯誤,但是當我運行時npm --version
它顯示2.14.7,然後我決定運行:sudo npm install -g npm
為了升級npm版本,但當我檢查它時,它仍然顯示2.14.7。於是,我又查了一遍sudo npm --version
,不過這次用的是最新的3.3.10版本。
為什麼會發生這種情況以及如何解決它?
這是一個螢幕截圖:
我使用的是 Ubuntu 14.04。
編輯:
新增 wich 命令輸出
sistemas@ITAACO01:~$ which npm
/home/sistemas/.nvm/versions/node/v4.2.2/bin/npm
sistemas@ITAACO01:~$ sudo which npm
/usr/local/bin/npm
答案1
(從輸出)看來which
您的使用者 ( sistemas
) 設定為使用npm
位於 的不同的過時版本/home/sistemas/.nvm/versions/node/v4.2.2/bin/npm
- 忽略位於 的更新的系統範圍版本/usr/local/bin/npm
。
檢查是否/usr/local/bin
在您的$PATH
. (執行echo $PATH
並查看其輸出是否包含/usr/local/bin
.
如果沒有,請添加它(放入PATH="$PATH:/usr/local/bin"
您的~/.bash_profile
)
答案2
有兩種可能性:
新版本路徑不存在:
新增路徑。例如:新增
/usr/local/bin/npm
到路徑舊版較早
$PATH
:刪除舊版本路徑。例如:刪除
/home/sistemas/.nvm/versions/node/v4.2.2/bin/npm
自$PATH