节点预gyp安装-回退构建

时间:2019-10-18 06:45:43

标签: javascript node.js npm bcrypt

当我为我的hapi js项目安装bcrypt模块时,它尚未安装,显示为

  

node-pre-gyp install --fallback-to-build

我试图通过运行进行安装;

npm i node-pre-gyp

但是它不起作用。


错误:

  
PS C:\Users\safras\Desktop\authentication\loginLogout> npm i bcrypt

> bcrypt@3.0.6 install C:\Users\safras\Desktop\authenticatin\node_modules\bcrypt

node-pre-gyp install --fallback-to-build

node-pre-gyp WARN Using needle for node-pre-gyp https download 
node-pre-gyp WARN Tried to download(404): https://github.com/kelektiv/node.bcrypt.js/releases/download/v3.0.6/bcrypt_lib-v3.0.6-node-v72-win32-x64-unknown.tar.gz

node-pre-gyp WARN Pre-built binaries not found for bcrypt@3.0.6 and node@12.10.0 (node-v72 ABI, unknown) (falling back to source compile with node-gyp) 
gyp ERR! find VS 
gyp ERR! find VS msvs_version not set from command line or npm config
gyp ERR! find VS VCINSTALLDIR not set, not running in VS Command Prompt
gyp ERR! find VS checking VS2019 (16.3.29411.108) found at:
gyp ERR! find VS "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community"
gyp ERR! find VS - "Visual Studio C++ core features" missing
gyp ERR! find VS could not find a version of Visual Studio 2017 or newer to use
gyp ERR! find VS looking for Visual Studio 2015
gyp ERR! find VS - not found
gyp ERR! find VS not looking for VS2013 as it is only supported up to Node.js 8
gyp ERR! find VS
gyp ERR! find VS **************************************************************
gyp ERR! find VS You need to install the latest version of Visual Studio
gyp ERR! find VS including the "Desktop development with C++" workload.
gyp ERR! find VS For more information consult the documentation at:
gyp ERR! find VS https://github.com/nodejs/node-gyp#on-windows
gyp ERR! find VS **************************************************************
gyp ERR! find VS
gyp ERR! configure error
gyp ERR! stack Error: Could not find any Visual Studio installation to use
gyp ERR! stack     at VisualStudioFinder.fail (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\find-visualstudio.js:121:47)
gyp ERR! stack     at C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\find-visualstudio.js:74:16
gyp ERR! stack     at VisualStudioFinder.findVisualStudio2013 (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\find-visualstudio.js:344:14)
gyp ERR! stack     at C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\find-visualstudio.js:70:14
gyp ERR! stack     at C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\find-visualstudio.js:365:16
gyp ERR! stack     at C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\util.js:54:7
gyp ERR! stack     at C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\util.js:33:16
gyp ERR! stack     at ChildProcess.exithandler (child_process.js:302:5)
gyp ERR! stack     at ChildProcess.emit (events.js:209:13)
gyp ERR! stack     at maybeClose (internal/child_process.js:1021:16)
gyp ERR! System Windows_NT 10.0.18362
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "configure" "--fallback-to-build" "--module=C:\\Users\\safras\\Desktop\\authentication\\node_modules\\bcrypt\\lib\\binding\\bcrypt_lib.node" "--module_name=bcrypt_lib" "--module_path=C:\\Users\\safras\\Desktop\\authentication\\node_modules\\bcrypt\\lib\\binding" "--napi_version=4" "--node_abi_napi=napi" "--napi_build_version=0" 
"--node_napi_label=node-v72"
gyp ERR! cwd C:\Users\safras\Desktop\authentication\node_modules\bcrypt
gyp ERR! node -v v12.10.0
gyp ERR! node-gyp -v v5.0.3
gyp ERR! not ok 
node-pre-gyp ERR! build error 
node-pre-gyp ERR! stack Error: Failed to execute 'C:\Program Files\nodejs\node.exe C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js configure --fallback-to-build
--module=C:\Users\safras\Desktop\authentication\node_modules\bcrypt\lib\binding\bcrypt_lib.node
--module_name=bcrypt_lib --module_path=C:\Users\safras\Desktop\authentication\node_modules\bcrypt\lib\binding
--napi_version=4 --node_abi_napi=napi --napi_build_version=0 --node_napi_label=node-v72' (1)
node-pre-gyp ERR! stack     at ChildProcess.<anonymous> (C:\Users\safras\Desktop\authentication\node_modules\node-pre-gyp\lib\util\compile.js:83:29)
node-pre-gyp ERR! stack     at ChildProcess.emit (events.js:209:13)
node-pre-gyp ERR! stack     at maybeClose (internal/child_process.js:1021:16)
node-pre-gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:283:5)
node-pre-gyp ERR! System Windows_NT 10.0.18362
node-pre-gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\safras\\Desktop\\authentication\\node_modules\\node-pre-gyp\\bin\\node-pre-gyp" "install" "--fallback-to-build"
node-pre-gyp ERR! cwd C:\Users\safras\Desktop\authentication\node_modules\bcrypt
node-pre-gyp ERR! node -v v12.10.0
node-pre-gyp ERR! node-pre-gyp -v v0.12.0
node-pre-gyp ERR! not ok
Failed to execute 'C:\Program Files\nodejs\node.exe C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js configure --fallback-to-build
--module=C:\Users\safras\Desktop\authentication\node_modules\bcrypt\lib\binding\bcrypt_lib.node
--module_name=bcrypt_lib --module_path=C:\Users\safras\Desktop\authentication\node_modules\bcrypt\lib\binding
--napi_version=4 --node_abi_napi=napi --napi_build_version=0 --node_napi_label=node-v72' (1)
npm WARN hapi-auth-basic@5.0.0 requires a peer of hapi@>=17.x.x but none is installed. You must install peer dependencies yourself.
npm WARN authentication@1.0.0 No description

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! bcrypt@3.0.6 install: `node-pre-gyp install --fallback-to-build`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the bcrypt@3.0.6 install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\safras\AppData\Roaming\npm-cache\_logs\2019-10-18T06_32_05_741Z-debug.log
PS C:\Users\safras\Desktop\authentication\loginLogout> npm i node-pre-gyp
npm WARN hapi-auth-basic@5.0.0 requires a peer of hapi@>=17.x.x but none is installed. You must install peer dependencies yourself.
npm WARN authentication@1.0.0 No description
npm WARN authentication@1.0.0 No repository field.

+ node-pre-gyp@0.13.0
added 4 packages from 8 contributors, removed 1 package and audited 244 packages in 2.057s
found 0 vulnerabilities

PS C:\Users\safras\Desktop\authentication\loginLogout> @hapi/hapi -v
At line:1 char:7
+ @hapi/hapi -v
+       ~
PS C:\Users\safras\Desktop\authentication\loginLogout> npm install -g node-gyp
C:\Users\safras\AppData\Roaming\npm\node-gyp -> C:\Users\safras\AppData\Roaming\npm\node_modules\node-gyp\bin\node-gyp.js
+ node-gyp@6.0.0
updated 1 package in 5.76s
PS C:\Users\safras\Desktop\authentication\loginLogout> npm i bcrypt

bcrypt@3.0.6 install C:\Users\safras\Desktop\authentication\node_modules\bcrypt
node-pre-gyp install --fallback-to-build

node-pre-gyp WARN Using needle for node-pre-gyp https download 
node-pre-gyp WARN Tried to download(404): https://github.com/kelektiv/node.bcrypt.js/releases/download/v3.0.6/bcrypt_lib-v3.0.6-node-v72-win32-x64-unknown.tar.gz

node-pre-gyp WARN Pre-built binaries not found for bcrypt@3.0.6 and node@12.10.0 (node-v72 ABI, unknown) (falling back to source compile with node-gyp)
gyp ERR! find VS 
gyp ERR! find VS msvs_version not set from command line or npm config
gyp ERR! find VS VCINSTALLDIR not set, not running in VS Command Prompt
gyp ERR! find VS checking VS2019 (16.3.29411.108) found at:
gyp ERR! find VS "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community"
gyp ERR! find VS - "Visual Studio C++ core features" missing
gyp ERR! find VS could not find a version of Visual Studio 2017 or newer to use
gyp ERR! find VS looking for Visual Studio 2015
gyp ERR! find VS - not found
gyp ERR! find VS not looking for VS2013 as it is only supported up to Node.js 8
gyp ERR! find VS
gyp ERR! find VS **************************************************************
gyp ERR! find VS You need to install the latest version of Visual Studio
gyp ERR! find VS including the "Desktop development with C++" workload.
gyp ERR! find VS For more information consult the documentation at:
gyp ERR! find VS https://github.com/nodejs/node-gyp#on-windows
gyp ERR! find VS **************************************************************
gyp ERR! find VS
gyp ERR! configure error
gyp ERR! stack Error: Could not find any Visual Studio installation to use
gyp ERR! stack     at VisualStudioFinder.fail (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\find-visualstudio.js:121:47)
gyp ERR! stack     at C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\find-visualstudio.js:74:16
gyp ERR! stack     at VisualStudioFinder.findVisualStudio2013 (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\find-visualstudio.js:344:14)
gyp ERR! stack     at C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\find-visualstudio.js:70:14
gyp ERR! stack     at C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\find-visualstudio.js:365:16
gyp ERR! stack     at C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\util.js:54:7
gyp ERR! stack     at C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\util.js:33:16
gyp ERR! stack     at ChildProcess.exithandler (child_process.js:302:5)
gyp ERR! stack     at ChildProcess.emit (events.js:209:13)
gyp ERR! stack     at maybeClose (internal/child_process.js:1021:16)
gyp ERR! System Windows_NT 10.0.18362
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "configure" "--fallback-to-build" "--module=C:\\Users\\safras\\Desktop\\authentication\\node_modules\\bcrypt\\lib\\binding\\bcrypt_lib.node" "--module_name=bcrypt_lib" "--module_path=C:\\Users\\safras\\Desktop\\authentication\\node_modules\\bcrypt\\lib\\binding" "--napi_version=4" "--node_abi_napi=napi" "--napi_build_version=0" 
"--node_napi_label=node-v72"
gyp ERR! cwd C:\Users\safras\Desktop\authentication\node_modules\bcrypt
gyp ERR! node -v v12.10.0
gyp ERR! node-gyp -v v5.0.3
gyp ERR! not ok
node-pre-gyp ERR! build error 
node-pre-gyp ERR! stack Error: Failed to execute 'C:\Program Files\nodejs\node.exe C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js configure --fallback-to-build
--module=C:\Users\safras\Desktop\authentication\node_modules\bcrypt\lib\binding\bcrypt_lib.node
--module_name=bcrypt_lib --module_path=C:\Users\safras\Desktop\authentication\node_modules\bcrypt\lib\binding
--napi_version=4 --node_abi_napi=napi --napi_build_version=0 --node_napi_label=node-v72' (1)
node-pre-gyp ERR! stack     at ChildProcess.<anonymous> (C:\Users\safras\Desktop\authentication\node_modules\bcrypt\node_modules\node-pre-gyp\lib\util\compile.js:83:29)
node-pre-gyp ERR! stack     at ChildProcess.emit (events.js:209:13)
node-pre-gyp ERR! stack     at maybeClose (internal/child_process.js:1021:16)
node-pre-gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:283:5)
node-pre-gyp ERR! System Windows_NT 10.0.18362
node-pre-gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\safras\\Desktop\\authentication\\node_modules\\bcrypt\\node_modules\\node-pre-gyp\\bin\\node-pre-gyp" "install" "--fallback-to-build"
node-pre-gyp ERR! cwd C:\Users\safras\Desktop\authentication\node_modules\bcrypt
node-pre-gyp ERR! node -v v12.10.0
node-pre-gyp ERR! node-pre-gyp -v v0.12.0
node-pre-gyp ERR! not ok 
Failed to execute 'C:\Program Files\nodejs\node.exe C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js configure --fallback-to-build
--module=C:\Users\safras\Desktop\authentication\node_modules\bcrypt\lib\binding\bcrypt_lib.node
--module_name=bcrypt_lib --module_path=C:\Users\safras\Desktop\authentication\node_modules\bcrypt\lib\binding
--napi_version=4 --node_abi_napi=napi --napi_build_version=0 --node_napi_label=node-v72' (1)
npm WARN hapi-auth-basic@5.0.0 requires a peer of hapi@>=17.x.x but none is installed. You must install peer dependencies yourself.
npm WARN authentication@1.0.0 No description
npm WARN authentication@1.0.0 No repository field.

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! bcrypt@3.0.6 install: `node-pre-gyp install --fallback-to-build`
npm ERR! Exit status 1
npm ERR!enter code here
npm ERR! Failed at the bcrypt@3.0.6 install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\safras\AppData\Roaming\npm-cache\_logs\2019-10-18T06_35_24_418Z-debug.log

3 个答案:

答案 0 :(得分:0)

我建议您使用bcryptjs

这可能是因为您没有使用稳定版本的节点。检查npm here

上的文档
  

node-gyp仅适用于稳定/已发布的节点版本。由于bcrypt模块使用node-gyp进行构建和安装,因此需要稳定版本的node才能使用bcrypt。如果不这样做,则可能会看到以下错误开头:

     

gyp ERR! stack Error: "pre" versions gyp ERR! stack Error: "pre" versions of node cannot be installed, use the --nodedir flag instead

答案 1 :(得分:0)

尝试卸载bcrypt并安装bcryptjs

npm install --save bcryptjs && npm uninstall --save bcrypt

答案 2 :(得分:0)

如果您想使用bcrypt,

npm install --build-from-resource  

如果上述命令不能解决您的问题,而不能解决fsevents ((仅在使用时)),所以对于本次运行

npm install fsevents  

如果问题仍然存在,而不是您的节点版本和grpc版本存在问题,请click here for more info