
我正在嘗試將我的節點版本更新到最新的穩定版本。
使用這個資源我以前可以:
sudo npm install n -g
但當我嘗試時
sudo npm n stable
我得到:
sudo: n: command not found
如果我運行n stable
,則會出現該命令:
n stable
mkdir: cannot create directory ‘/usr/local/n’: Permission denied
mkdir: cannot create directory ‘/usr/local/n’: Permission denied
mkdir: cannot create directory ‘/usr/local/n’: Permission denied
mkdir: cannot create directory ‘/usr/local/n’: Permission denied
install : node-v0.12.2
mkdir : /usr/local/n/versions/node/0.12.2
mkdir: cannot create directory ‘/usr/local/n’: Permission denied
Error: sudo required
答案1
答案2
令人驚訝的是,您的npm
安裝在您的主目錄中調用的資料夾中具有全域前綴npm
,這意味著使用該-g
標誌安裝的任何軟體包都將安裝在該資料夾中。
sudo
您可以按照以下步驟將此資料夾變更為安全路徑上的任何資料夾:
圖解方式:
- 開啟檔案管理器(又稱 Nautilus)。
- 導航到您的主資料夾。
- 按Ctrl+H顯示隱藏檔案。
.npmrc
使用您最喜歡的文字編輯器開啟一個名為的檔案。在該文件中找到包含以下內容的行:
prefix=/home/<your_username>/npm
- 替換
/home/<your_username>/npm
為安全路徑(例如/usr/local/bin
)。 更換後,它將如下所示:
prefix=/usr/local/bin
- 儲存文件。
- 再次運行
sudo npm install n -g
終端方式:
運行這個命令:
sed -i.bak "s%^prefix=.*$%prefix=/usr/local/bin%" ~/.npmrc
答案3
我知道這是一個 Ubuntu 論壇,但我確信這會幫助那些在 RHEL 版本上遇到相同問題的人,他們像我一樣透過 Google 搜尋到這裡。也許它也適用於 Ubuntu。
ln -s /usr/local/bin/n /usr/bin/n