mac--全域性安裝軟體包時解決EACCES許可權錯誤(The operation was rejected by your operating system)
阿新 • • 發佈:2018-12-27
如果EACCES
在嘗試全域性安裝軟體包時看到錯誤,則可以:
- 使用節點版本管理器重新安裝npm(推薦),
要麼
- 手動更改npm的預設目錄
重新安裝NPM與節點版本管理§
這是避免許可權問題的最佳方法。要使用節點版本管理器重新安裝npm,請按照“ 下載並安裝Node.js和npm ”中的步驟操作。在安裝節點版本管理器之前,您無需刪除當前版本的npm或Node.js.
手動更改npm的預設目錄§
注意:本節不適用於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變數(例如,如果您不想修改~/.profile
),而不是步驟2-4 :
<span style="color:#333333"><code> NPM_CONFIG_PREFIX=~/.npm-global
</code></span>
npx:執行全域性命令的替代方法
如果使用的是npm 5.2或更高版本,則可能需要將npx視為執行全域性命令的替代方法,尤其是在偶爾需要命令的情況下。有關更多資訊,請參閱有關npx的這篇文章。