npm WARN config global --global, --local are deprecated. Use --location=global instead 解決方式

前言

最近更新到 Node.js 16.15.1 與 npm 8.11.0 時,會一直出現「npm WARN config global –global, –local are deprecated. Use –location=global instead 解決方式」的狀況,所以這一篇記錄下如何解決。

事出原因

首先我們開發上其實很常使用 nvm 來下載其他 Node.js,而某一天安裝了 16.15.1 版

1
2
3
4
nvm install 16.15.1
nvm use 16.15.1
node -v // 16.15.1
npm -v // 8.11.0

結果出現了以下錯誤訊息

1
npm WARN config global --global, --local are deprecated. Use --location=global instead

解決方式

其實解決方式非常簡單,直接更新 npm 就可以了

1
npm install -g npm

但是過程中可能會發生 「Unexpected token '.'」 這個錯誤,而這個錯誤其實並不是 Node.js 與 npm 的問題,而是 nvm-windows 的問題導致,解決方式很簡單,只需要到 nvm-windows 下載更新包就可以了

https://github.com/coreybutler/nvm-windows/releases/tag/1.1.9

1.1.9

更新好後基本上就可以先初步排除 Unexpected token '.' 問題,因此接下來關閉終端機,記得使用開啟終端機時要用「以系統管理員身份執行」。

以系統管理員身份執行

然後將剛剛安裝有問題的 Node.js 移除重新安裝

1
2
3
nvm uninstall 16.15.1
nvm install 16.15.1
nvm use 16.15.1

接下來一樣輸入 npm -v 的時候,還是會出現 npm WARN config global --global, --local are deprecated. Use --location=global instead,先不用太擔心

錯誤訊息

接著輸入更新 npm 的指令

1
npm install -g npm

(更新後記得重啟終端機)

更新 npm

更新成功後就不會再出現啦~

而這個問題應該是 npm 8.11.0 的問題,所以只需要更新到新版就好,更新完畢後如果還是沒有解決的話會建議重新安裝 Node.js,然後重新開起終端機哩。

參考文獻

Liker 讚賞

這篇文章如果對你有幫助,你可以花 30 秒登入 LikeCoin 並點擊下方拍手按鈕(最多五下)免費支持與牡蠣鼓勵我。
或者你也可以考慮請我喝一杯咖啡

Google AD

撰寫一篇文章其實真的很花時間,如果你願意「關閉 Adblock (廣告阻擋器)」來支持我的話,我會非常感謝你 ヽ(・∀・)ノ