我无法在 Windows 上使用 npm 安装 bcrypt,因为遇到以下错误。
我也尝试了这些命令,但这些命令都不起作用
npm install --save bcryptjs && npm uninstall --save bcrypt
npm install -g node-gyp
npm install --g --production windows-build-tools
然后
npm install bcrypt
npm ERR! gyp ERR! node -v v20.5.0
npm ERR! gyp ERR! node-gyp -v v9.4.0
npm ERR! gyp ERR! not ok
npm ERR! node-pre-gyp ERR! build error
npm ERR! node-pre-gyp ERR! stack Error: Failed to execute 'D:\Programs\NodeJs\node.exe C:\Users\User\AppData\Roaming\npm\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js configure --fallback-to-build --module=F:\Web dev projects\FusionReact\fusion_backend\node_modules\bcrypt\lib\binding\napi-v3\bcrypt_lib.node --module_name=bcrypt_lib --module_path=F:\Web dev projects\FusionReact\fusion_backend\node_modules\bcrypt\lib\binding\napi-v3 --napi_version=9 --node_abi_napi=napi --napi_build_version=3 --node_napi_label=napi-v3' (1)
npm ERR! node-pre-gyp ERR! stack at ChildProcess.<anonymous> (F:\Web dev projects\FusionReact\fusion_backend\node_modules\@mapbox\node-pre-gyp\lib\util\compile.js:89:23)
npm ERR! node-pre-gyp ERR! stack at ChildProcess.emit (node:events:514:28)
npm ERR! node-pre-gyp ERR! stack at maybeClose (node:internal/child_process:1105:16)
npm ERR! node-pre-gyp ERR! stack at ChildProcess._handle.onexit (node:internal/child_process:305:5)
npm ERR! node-pre-gyp ERR! System Windows_NT 10.0.22621
npm ERR! node-pre-gyp ERR! command "D:\\Programs\\NodeJs\\node.exe" "F:\\Web dev projects\\FusionReact\\fusion_backend\\node_modules\\@mapbox\\node-pre-gyp\\bin\\node-pre-gyp" "install" "--fallback-to-build"
npm ERR! node-pre-gyp ERR! cwd F:\Web dev projects\FusionReact\fusion_backend\node_modules\bcrypt
npm ERR! node-pre-gyp ERR! node -v v20.5.0
npm ERR! node-pre-gyp ERR! node-pre-gyp -v v1.0.11
npm ERR! node-pre-gyp ERR! not ok
使用 nvm 将节点版本降级到 18.19.1
nvm install 18.19.1
然后输入
nvm use 18.19.1
之后使用 npm 安装 bcrypt
npm i bcrypt
这对我有用
如果未安装 nvm,请查看此存储库 nvm 安装指南
使用
验证 nvm 安装nvm -v