NPM 更新後所有指令都失效了? NPM 和 Node.js 版本號支援問題

NPM 更新後所有指令都失效了? NPM 和 Node.js 版本號支援問題

踩雷系列全部的題材保證都是本人親自踩過的,希望各位如果剛好不幸遇到的話也能夠幸運的找到我的這篇文章幫你解惑!

事件經過

又是一個平凡的開發日常,打開自己電腦內的 iTerm 時看到了一個 npm 的更新通知,索性就輸入 npm install -g npm 來安裝更新檔。結果更新完後要使用 npm run dev 執行自己的 Vue3 專案時看到了以下的畫面:

一個錯誤訊息跳了出來

1
Error: Cannot find module 'timers/promises'

這時候我嘗試去執行其他的專案也通通遇到一樣的錯誤訊息,於是就開始 google 和 Stack Overflow 來尋找答案的旅程了。

踩到的雷

最後在這篇文章 Error: Cannot find module ‘timers/promises‘ 找到了踩到的雷是什麼?
原來是因為升級後的 npm 沒辦法支援現在本地端 node 的版本,所以版本相互不支援的情況間接導致我沒辦法順利執行所有 npm 相關的指令。

解決方法

於是我就去查了一下目前可以支援這個 npm 版本的 node 版本有哪些? 並指用 nvm 這個 node 版本管理工具將當前的 node 版本更新為有支援的 node 18 後就順利解決了。

後記

後來發現,其實在我一開始升級完 npm 之後, iTerm 就有顯示 Warning 的訊息告訴我,更新後的 npm 和我本地端目前的 node 版本是不支援的,必須同步將 node 一起升級才可以。
所以看到這邊你可能會想說,究竟是我踩到了雷還是我自己就是那個雷呢?
Who knows? 哈哈哈哈哈

那我們下次見ʘ‿ʘ

參考資料

Cannot find module ‘timers/promises’

評論