場景:
前幾天幫師弟安裝一個vue項目時,需要用npm install安裝項目依賴包。然后報了以下錯誤:
- Can't find Python executable "python", you can set the PYTHON env variable
- node-gyp rebuild報錯,類似以下:
command "node.exe" "node-gyp.js" "rebuild"
- 安裝node-sass報錯
問題分析:
一頭霧水,平時安裝依賴包沒有問題的。經過查閱知道,node-sass是用來解析sass,將其解析為css語法的依賴包。sass是使用了類似js的方法去寫css,比如可以添加變量,如下:
$test-color: #000; body { color: $test-color; }
node-gpy就是為了適應多平台而使用的工具, 不同平台下用不同語言編譯器進行編譯。
問題解決:
- 首先嘗試了安裝python,然后沒有用。
- 嘗試以下:
npm install --global --production windows-build-tools npm install -g node-gyp
前一個是安裝windows下各語言的編譯工具包(其實一般最新的node.js中有),后一個是單獨安裝node-gpy。但是沒有用。
- 還嘗試了安裝最新版本的node-gpy
npm install --global node-gyp@latest
最后:師兄幫我解決的。原來安裝的node.js是最新版本,下載的是17版本的,可能用的node-gpy比較新,和項目中的不適配。於是安裝node.js的14版本,問題解決,npm install安裝成功。
最后記錄一下node.js的理解,node.js是基於 Chrome V8 引擎 的 JavaScript 運行時環境。可以讓js在瀏覽器之外的地方解析js。