npx報錯“Path must be a string. Received undefined”in windows解決方法

  在使用Windows上使用較老版本的nodejs,如何我使用的v8.9其自帶的npx的版本爲9.7,在Windows上使用會存在:“Path must be a string. Received undefined”的錯誤。通過 GitHub 上的 issue 可以知道改問題已經在最新版的npx中解決了,可以通過npm手動升級到最新版解決。

npm i -g npx

  但是運行npx -v後我們發現還是老版本的npx在運行新下載的npx並沒有生效,這就是Windows環境變量的鍋了。安裝node時node的安裝目錄是在系統變量的path中,而node全局安裝包的目錄是在用戶的path中,系統查詢可執行文件的屬性是先查詢系統path變量,然後再查詢用戶path變量。所以node安裝目錄下的npx就覆蓋了node全局安裝目錄下的npx。解決方法是把用戶變量下path中node全局安裝的路徑複製到系統變量的path中。(如果自己沒有修改過node全局安裝目錄的話這個路徑一般是:”C:\Users{your_user_name}\AppData\Roaming\npm”),注意一定要把這個路徑放在node安裝目錄前面,因爲查找是從上到下查找的。
之後就可以開心的使用npx了。

博客原文:https://blog.yinaoxiong.cn/2018/08/19/fix-npx-erro.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章