如果您在嘗試 全域安裝套件 時看到 EACCES
錯誤,您可以
-
使用節點版本管理員重新安裝 npm(建議),
或
-
手動變更 npm 的預設目錄
這是避免權限問題的最佳方法。若要使用節點版本管理員重新安裝 npm,請按照「下載並安裝 Node.js 和 npm」中的步驟進行操作。您不需要在安裝節點版本管理員之前移除目前版本的 npm 或 Node.js。
注意:此部分不適用於 Microsoft Windows。
若要將權限錯誤的機率降至最低,您可以設定 npm 使用不同的目錄。在此範例中,您將在您的家目錄中建立並使用隱藏目錄。
-
備份您的電腦。
-
在命令列中,於您的家目錄建立一個用於全域安裝的目錄
mkdir ~/.npm-global
-
設定 npm 使用新的目錄路徑
npm config set prefix '~/.npm-global'
-
在您偏好的文字編輯器中,開啟或建立一個 ~/.profile
檔案,並加入這行
export PATH=~/.npm-global/bin:$PATH
-
在命令列中,更新您的系統變數
source ~/.profile
-
若要測試您的新設定,請在不使用 sudo
的情況下全域安裝一個套件
npm install -g jshint
您可以使用對應的 ENV 變數來取代步驟 3-5(例如,如果您不想修改 ~/.profile
)
NPM_CONFIG_PREFIX=~/.npm-global
npx:執行全域命令的替代方案
如果您使用的是 npm 版本 5.2 或更高版本,您可能想考慮 npx 作為執行全域命令的替代方法,特別是當您偶爾才需要一個命令時。有關更多資訊,請參閱 這篇關於 npx 的文章。