Node.js 故障排除
找不到特定版本的node/npm/pnpm/yarn等命令
如果出現類似下面的錯誤
Warning: Specified Node.js version '22' for 'node' not found.
If this is not your intention, please delete the 'NODE_VERSION' configuration
from the '.servbay.config' file in the current directory.
2
3
這是因為對應版本的 Node.js 在 ServBay 中沒有安裝,或者用戶希望使用nvm
自帶的 Node.js 版本,但是因為一些配置上的原因導致無法找到nvm
或者homebrew
安裝的 Node.js。
提示
安裝 ServBay 後,node 命令的尋找優先級為:ServBay->nvm->homebrew
原因: 安裝 ServBay 後,ServBay 的 Script Alias 會自動優先使用 ServBay 所安裝的 Node.js。在某個版本的 Node.js 找不到的時候,會自動回落至nvm
所安裝的默認版本 Node.js。如果用戶系統沒有安裝nvm
,或者nvm
配置不正確,那麼會繼續回落至homebrew
所安裝的 Node.js 版本。如果homebrew
安裝的 Node.js 也找不到,那麼將會報告上述的錯誤。
解決方案:有部分用戶安裝了nvm
,並且使用nvm
安裝了 Node.js,但還是報告上面的錯誤。這是因為用戶的環境配置中缺失了NVM_BIN
環境變量。在安裝nvm
時,nvm
會自動配置這個變量。
用戶只需要修復這個變量,就可以正確尋找到通過nvm
所安裝的 Node.js
使用 node-sass
等 npm 包時提示架構不支持
Apple Silicon(M1/M2/M3/M4)等 Arm64 晶片的用戶,在使用一些舊舊的 npm 包(比如 node-sass
)時,會出現Unsupported architecture (arm64)
的錯誤。這是因為蘋果的 M 系列晶片是 Arm64 架構,node-sass
等包只支持x86_64的晶片架構。
ERROR: Module Error (from ./node_modules/sass-loader/dist/cjs.js):
Node Sass does not yet support your current environment: OS X Unsupported architecture (arm64) with Node.js 14.x
For more information on which environments are supported
please see:
https://github.com/sass/node-sass/releases/tag/v4.14.1
2
3
4
5
解決方案:
1、更換為更加現代的,支持 Arm64 的 npm 包(比如從node-sass
更換為sass
)
npm uninstall node-sass
npm install --save-dev sass
2
2、ServBay 提供了安裝x86_64
版本 Node.js 的選項,用戶可以在 Node.js 安裝界面選擇安裝x86_64
架構的 Node.js(不建議)