在nodejs中安装bycrpt时出错?每当我运行npm install install --save吗?

时间:2018-07-07 11:02:00

标签: node.js npm window bcrypt

  

bcrypt@3.0.0安装C:\ projects \ alecadApi \ node_modules \ bcrypt   node-pre-gyp安装--fallback-to-build

node-pre-gyp警告试图下载(404):https://github.com/kelektiv/node.bcrypt.js/releases/download/v3.0.0/bcrypt_lib-v3.0.0-node-v57-win32-x64-unknown.tar.gz node-pre-gyp未为bcrypt@3.0.0和node@8.10.0(node-v57 ABI,未知)找到预构建的二进制文件(使用node-gyp进行源编译) 一次构建一个此解决方案中的项目。要启用并行构建,请添加“ / m”开关。 C:\projects\alecadApi\node_modules\bcrypt\build\bcrypt_lib.vcxproj(20,3):错误MSB4019:导入的项目“ C:\ Microsoft.Cp 找不到p.Default.props。请确认声明中的路径正确,并且文件在磁盘上 。 gyp ERR!个构建错误 gyp ERR!堆栈错误:C:\Program Files (x86)\MSBuild\14.0\bin\msbuild.exe失败,退出代码:1 糟糕!堆栈在ChildProcess.onExit(C:\ Users \ adity \ AppData \ Roaming \ npm \ node_modules \ npm \ node_modules \ node-gyp \ lib \ build.js:258:23) 糟糕!堆叠在generateTwo(events.js:126:13) 糟糕!堆栈在ChildProcess.emit(events.js:214:7) 糟糕!堆栈位于Process.ChildProcess._handle.onexit(内部/child_process.js:198:12) gyp ERR!系统Windows_NT 10.0.17134 gyp ERR!命令“ C:\ Program Files \ nodejs \ node.exe”“ C:\ Users \ adity \ AppData \ Roaming \ npm \ node_modules \ npm \ node_modules \ node-gyp \ bin \ node-gyp.js “”构建“”-后退到构建“” --module = C:\ projects \ alecadApi \ node_modules \ bcrypt \ lib \ binding \ bcrypt_lib.node“” --module_name = bcrypt_lib“” --module_path = C :\ projects \ alecadApi \ node_modules \ bcrypt \ lib \ binding“” --napi_version = 1“” --node_abi_napi = napi“ gyp ERR! cwd C:\ projects \ alecadApi \ node_modules \ bcrypt gyp ERR!节点-v v8.10.0 gyp ERR! node-gyp -v v3.6.2 gyp ERR!不好 node-pre-gyp错误!建立错误 node-pre-gyp错误!堆栈错误:无法执行'C:\ Program Files \ nodejs \ node.exe C:\ Users \ adity \ AppData \ Roaming \ npm \ node_modules \ npm \ node_modules \ node-gyp \ bin \ node-gyp.js构建- -fallback-to-build --module = C:\ projects \ alecadApi \ node_modules \ bcrypt \ lib \ binding \ bcrypt_lib.node --module_name = bcrypt_lib --module_path = C:\ projects \ alecadApi \ node_modules \ bcrypt \ lib \绑定--napi_version = 1 --node_abi_napi = napi'(1) 节点预石膏错误!堆栈在ChildProcess上。 (C:\ Projects \ alecadApi \ node_modules \ bcrypt \ node_modules \ node-pre-gyp \ lib \ util \ compile.js:83:29) node-pre-gyp错误!堆叠在generateTwo(events.js:126:13) node-pre-gyp错误!堆栈在ChildProcess.emit(events.js:214:7) node-pre-gyp错误!在也许关闭处堆叠(internal / child_process.js:925:16) node-pre-gyp错误!堆栈位于Process.ChildProcess._handle.onexit(内部/child_process.js:209:5) node-pre-gyp错误!系统Windows_NT 10.0.17134 node-pre-gyp错误!命令“ C:\ Program Files \ nodejs \ node.exe”“ C:\ Projects \ alecadApi \ node_modules \ bcrypt \ node_modules \ node-pre-gyp \ bin \ node-pre-gyp”“安装”“ --fallback-打造” node-pre-gyp错误! CWD C:\ projects \ alecadApi \ node_modules \ bcrypt node-pre-gyp错误!节点-v v8.10.0 node-pre-gyp错误!节点预gyp -v v0.10.2 node-pre-gyp错误!不好 无法执行'C:\ Program Files \ nodejs \ node.exe C:\ Users \ adity \ AppData \ Roaming \ npm \ node_modules \ npm \ node_modules \ node-gyp \ bin \ node-gyp.js build --fallback-要构建--module = C:\ projects \ alecadApi \ node_modules \ bcrypt \ lib \ binding \ bcrypt_lib.node --module_name = bcrypt_lib --module_path = C:\ projects \ alecadApi \ node_modules \ bcrypt \ lib \ binding- napi_version = 1 --node_abi_napi = napi'(1) npm WARN alecadApi@1.0.0没有存储库字段。 npm WARN可选跳过选择性依赖项:fsevents@1.2.4(node_modules \ fsevents): npm WARN notsup跳过可选依赖项:fsevents@1.2.4不受支持的平台:想要的{“ os”:“ darwin”,“ arch”:“ any”}(当前:{“ os”:“ win32”,“ arch“:” x64“})

npm ERR!代码ELIFECYCLE npm ERR!错误1 npm ERR! bcrypt@3.0.0安装:node-pre-gyp install --fallback-to-build npm ERR!退出状态1 npm ERR! npm ERR!在bcrypt@3.0.0安装脚本上失败。 npm ERR!这可能不是npm的问题。上面可能还有其他日志记录输出。

npm ERR!可在以下位置找到此运行的完整日志: npm ERR! C:\ Users \ adity \ AppData \ Roaming \ npm-cache_logs \ 2018-07-07T10_51_34_631Z-debug.log

6 个答案:

答案 0 :(得分:2)

您尝试过this吗?

  

以管理员权限打开powershell并运行此命令,   然后继续进行bcrypt安装。

npm install --global --production windows-build-tools

注意:请等到Powershell窗口中看到“ 全部完成!”,然后继续安装模块。

答案 1 :(得分:2)

尝试使用此版本..它对我有用... npm i bcrypt@3.0.6

答案 2 :(得分:1)

您需要单独安装bcrypt。

执行npm install bcrypt --save,然后执行npm install

您也可以在this链接中找到类似问题的答案。

或者,如果这不起作用,则可以使用bcrypt-nodejsbcryptjs软件包。

答案 3 :(得分:0)

您应该使用

npm install --save bcrypt

正确安装。

通过使用bcrypt的方式,您需要安装python。如果要独立于python,请使用bcryptjs

npm install --save bcryptjs

答案 4 :(得分:0)

对于某些可能会遇到的问题

案例

如果您之前能够正确安装。然后,在升级您的nodejs(对我来说,我从11升级到12)之后,您将无法使用。

如果得到

was compiled against a different Node.js version using
NODE_MODULE_VERSION 64. This version of Node.js requires
NODE_MODULE_VERSION 72. Please try re-compiling or re-installing
the module (for instance, using `npm rebuild` or `npm install`).

这样的错误。然后,当您运行npm rebuild时,您会遇到其他错误。

可行的解决方案(对我有用)

完全删除 bcrypt。 (先从package.json移到npm install --save)。

然后重新安装

npm install bcrypt --save 

它已正确安装,并且没有问题。

(您可以省略删除部分)。

答案 5 :(得分:0)

由于节点js版本12.8.3,我遇到了这个问题。我刚刚将节点版本更改为12.4.1。然后尝试使用npm i bcrypt安装bcrypt。现在对我来说工作正常。

从此Link

检查/下载不同的Node.js版本。