bcrypt@1.0.3安装:`node-pre-gyp install --fallback-to-build`

时间:2018-02-25 15:12:44

标签: mysql node.js npm sequelize.js bcrypt

安装bcrypt时,我的Windows机器出现了这个错误,我正在使用

  • node v8.9.4
  • npm v5.6.0
  • bcrypt v1.0.3
  

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

3 个答案:

答案 0 :(得分:4)

我在使用节点v14.x时也遇到此错误。我发现bcrypt v1.0.3的预构建二进制文件不适用于节点v14。要解决此问题,我必须安装其他bcrypt版本。

npm uninstall bcrypt --save
npm install bcrypt@5 --save

就是这样。现在可以使用!

答案 1 :(得分:3)

经过多次研究,我解决了这个问题。所以,那些面临这个问题的人只需要执行以下流程,

我刚刚安装了python并设置了环境变量,现在它对我来说非常适合。

  • 安装Python(在Windows中安装时,您可以在环境变量中获取添加路径的选项,只需勾选复选框,否则)
  • 在环境变量中设置路径
  • 现在将下载的python.exe文件存储在此目录“c:\ Python \ 27 \ python.exe”
  • 现在在终端npm config set python "c:\Python\27\python.exe"
  • 中运行此cmd

现在执行npm install或运行您的项目。 我想现在你的问题已经解决了。 : - )

答案 2 :(得分:0)

就我而言,安装Python无法解决我的问题。我使用了bcryptjs而不是bcrypt,然后它起作用了。有关更多详细信息,请参见this video