安装bcrypt时,我的Windows机器出现了这个错误,我正在使用
C:\用户\用户\桌面\ mysql_node_api \ register_login \ register_login> NPM 安装bcrypt --save> bcrypt@1.0.3安装 C:\用户\用户\桌面\ mysql_node_api \ register_login \雷吉斯 ter_login \ node_modules \ bcrypt> node-pre-gyp安装 --fallback-to-build node-pre-gyp ERR!试图下载(未定义):https://github.com/kelektiv/node .bcrypt.js /发布/下载/ V1.0.3 / bcrypt_lib-V1.0.3节点-V57-Win32的x64.tar.gz node-pre-gyp ERR!找不到bcrypt@1.0.3和node@8.9.4(node-v57 ABI)的预构建二进制文件(回退到源代码编译时 node-gyp)gyp ERR!配置错误gyp ERR!堆栈错误:找不到 Python可执行文件“python”,可以设置PYT HON env变量。 gyp ERR!堆栈在PythonFinder.failNoPython(C:\ Users \ user \ AppData \ Roaming \ n pm \ node_modules \ npm \ node_modules \ node-gyp \ lib \ configure.js:483:19)gyp 呃!在PythonFinder堆栈。 (C:\ Users \ user \ AppData \ Roaming \ np m \ node_modules \ npm \ node_modules \ node-gyp \ lib \ configure.js:508:16)gyp 呃!堆栈在 C:\用户\用户\应用程序数据\漫游\ NPM \ node_modules \ NPM \ node_mo dules \ graceful-fs \ polyfills.js:284:29 gyp ERR!堆栈在 FSReqWrap.oncomplete (fs.js:152:21)gyp ERR!系统Windows_NT 6.1.7601 gyp ERR!命令“C:\ Program Files \ nodejs \ node.exe” “C:\用户\用户\应用程序数据 \漫游\故宫\ node_modules \故宫\ node_modules \节点GYP \ BIN \节点gyp.js” “co nfigure”“ - fallback-to-build” “--module = C:\用户\用户\桌面\ mysql_node_ap 我\ register_login \ register_login \ node_modules \ bcrypt \ LIB \装订\ bcrypt_li b.node“” - module_name = bcrypt_lib“ “--module_path = C:\用户\用户\桌面\ mysq l_node_api \ register_login \ register_login \ node_modules \ bcrypt \ LIB \绑定” gyp ERR! cwd C:\ Users \ user \ Desktop \ mysql_node_api \ register_login \ register_login \ node_modules \ bcrypt gyp ERR! node -v v8.9.4 gyp ERR! node-gyp -v v3.6.2 gyp ERR!不好节点-pre-gyp ERR!构建错误node-pre-gyp ERR! 堆栈错误:无法执行'C:\ Program Files \ nodejs \ node.e xe C:\ Users \ user \ AppData \ Roaming \ npm \ node_modules \ npm \ node_modules \ node-gyp \ bin \ node-gyp.js configure --fallback-to-build --module = C:\ Users \ user \ Desktop \ mysql_n ode_api \ register_login \ register_login \ node_modules \ bcrypt \ lib \ binding \ bcrypt_lib .node --module_name = bcrypt_lib --module_path = C:\ Users \ user \ Desktop \ mysql_node_ap i \ register_login \ register_login \ node_modules \ bcrypt \ lib \ binding'(1) node-pre-gyp ERR!在ChildProcess堆栈。 (C:\ Users \ user \ Desktop \ m ysql_node_api \ register_login \ register_login \ node_modules \ node-pre-gyp \ lib \ util \ c ompile.js:83:29)node-pre-gyp ERR!堆栈在emitTwo(events.js:126:13) node-pre-gyp ERR!在ChildProcess.emit堆栈(events.js:214:7) 节点预GYP 呃!堆栈在maybeClose(internal / child_process.js:925:16)node-pre-gyp ERR!在Process.ChildProcess._handle.onexit堆栈 (internal / chi ld_process.js:209:5)node-pre-gyp ERR!系统Windows_NT 6.1.7601 node-pre-gyp ERR!命令“C:\ Program Files \ nodejs \ node.exe” “C:\ Users \ user \ Desktop \ mysql_node_api \ _ register_login \ _ register_login \ node_modules \ node-pr e-gyp \ bin \ node-pre-gyp“”install“” - fallback-to-build“node-pre-gyp 呃! cwd C:\ Users \ user \ Desktop \ mysql_node_api \ register_login \ regist er_login \ node_modules \ bcrypt node-pre-gyp ERR! node -v v8.9.4 node-pre-gyp ERR! node-pre-gyp -v v0.6.36 node-pre-gyp ERR!不行无法执行 'C:\ Program Files \ nodejs \ node.exe C:\ Users \ user \ AppData \ Roamin g \ npm \ node_modules \ npm \ node_modules \ node-gyp \ bin \ node-gyp.js configure --fallbac k-to-build --module = C:\ Users \ user \ Desktop \ mysql_node_api \ register_login \ register _login \ node_modules \ bcrypt \ lib \ binding \ bcrypt_lib.node --module_name = bcrypt_lib --module_path = C: \用户\用户\桌面\ mysql_node_api \ register_login \ register_login \ node_modules \ bcrypt \ lib \ binding'(1)npm ERR!代码ELIFECYCLE npm ERR!错误1 npm ERR! bcrypt@1.0.3安装:node-pre-gyp安装 - fallback-to-build npm ERR!退出状态1 npm ERR!错误的ERR! bcrypt@1.0.3安装脚本失败。 npm ERR!
这可能不是npm的问题。上面可能有额外的日志输出。错误的ERR!此运行的完整日志 可以在:npm ERR找到! C:\用户\用户\应用程序数据\漫游\ NPM-cache_logs \ 2018-02-25T14_42_29_5 29Z-debug.log
答案 0 :(得分:4)
我在使用节点v14.x时也遇到此错误。我发现bcrypt v1.0.3的预构建二进制文件不适用于节点v14。要解决此问题,我必须安装其他bcrypt版本。
npm uninstall bcrypt --save
npm install bcrypt@5 --save
就是这样。现在可以使用!
答案 1 :(得分:3)
经过多次研究,我解决了这个问题。所以,那些面临这个问题的人只需要执行以下流程,
我刚刚安装了python并设置了环境变量,现在它对我来说非常适合。
npm config set python "c:\Python\27\python.exe"
现在执行npm install
或运行您的项目。
我想现在你的问题已经解决了。 : - )
答案 2 :(得分:0)
就我而言,安装Python无法解决我的问题。我使用了bcryptjs而不是bcrypt,然后它起作用了。有关更多详细信息,请参见this video。