為什麼節點在透過 sudo 以 root 身份詢問時,儘管已安裝 NVM 和最新的 LTS,但仍報告舊版本?

為什麼節點在透過 sudo 以 root 身份詢問時,儘管已安裝 NVM 和最新的 LTS,但仍報告舊版本?

foo在為使用者安裝 NVM 和最新的 LTS 節點之前:

foo@ubuntu: which node
/usr/bin/node
foo@ubuntu: node --version
v12.22.1

安裝 NVM 和最新的 LTS 節點後:

foo@ubuntu: which node
/home/foo/.nvm/versions/node/v14.16.1/bin/node
foo@ubuntu: node --version
v14.16.1

那麼為什麼節點在詢問時仍然會報告舊版本透過須藤?

root@ubuntu: sudo -u foo which node
/usr/bin/node
root@ubuntu: sudo -u foo node --version
v12.22.1

答案1

我相信這是因為當你是 root 並且你正在 sudoing foo 時,它並沒有將 foo 的 PATH 獲取到新版本。

如果你想測試並解決這個問題

echo $PATH

作為富

echo $PATH

要修復 root 的 .bashrc 附加 /home/foo/.nvm/versions/node/v14.16.1/bin/node

相關內容