快速解決在使用npm安裝全局套件時遇到的煩人問題

當在Mac或Linux上第一次嘗試使用npmnpm install -g <package>的語法安裝全局套件時,您可能會遇到一個奇怪的錯誤,顯示類似以下的訊息:

Missing write access to /usr/local/lib/node\_modules

npm錯誤訊息

或者是類似的訊息,後面還有一長串其它錯誤或警告訊息,這些都是第一個錯誤的結果。

這個錯誤阻止我們安裝套件。

要如何修復這個問題?這是一個權限錯誤,意味著您沒有對該資料夾的寫入權限。

以下是解決方法,運行以下的指令:

sudo chown -R $USER /usr/local/lib/node\_modules

讓我們來詳細說明一下:

  • sudo表示我們正在以root權限運行此指令,系統超級使用者。這是因為我們沒有寫入該資料夾的權限,但root可以修復任何權限。這個指令也表示系統會要求您輸入密碼以進行確認。

  • chown是我們用於更改檔案或資料夾所有者的指令。我們設置了-R選項以遞歸更改所有已包含在其中的檔案的所有者權限。

  • $USER 是一個自動設定為您的使用者名稱的環境變數。

  • 最後一個部分是資料夾路徑。

執行這個指令將使該資料夾成為您的,這樣您就可以安全地運行您的npm install -g <package>指令!

請注意錯誤訊息中列出的資料夾。如果資料夾不同,請相應更新chown指令。

此提示適用於單使用者系統。在多使用者系統中,您可能需要為npm模組創建專用目錄,請參閱https://docs.npmjs.com/resolving-eacces-permissions-errors-when-installing-packages-globally