【问题标题】:npm install crashing with errorsnpm install 因错误而崩溃
【发布时间】:2020-06-04 09:03:37
【问题描述】:

我正在处理一个 Node.js / parse-server 项目(在 Heroku 上),我似乎从一开始就遇到了一些问题。如果有人发现有问题,可以告诉我吗?

这是 package.json 文件:

{
 "name": "parse-server-example",
 "version": "1.4.0",
 "description": "An example Parse API server using the parse-server module",
 "main": "index.js",
 "repository": {
   "type": "git",
   "url": "https://github.com/ParsePlatform/parse-server-example"
 },
 "license": "MIT",
 "dependencies": {
   "@parse/simple-mailgun-adapter": "^1.0.3",
   "bcryptjs": "^2.4.3",
   "body-parser": "1.19.0",
   "ejs": "^3.0.1",
   "express": "^4.17.1",
   "kerberos": "~0.0.x",
   "parse": "~1.8.0",
   "parse-server": "*"
 },
 "scripts": {
   "start": "node index.js"
 },
 "engines": {
   "node": ">=4.3"
 }
}

这就是我尝试运行npm install时的结果:

ShellPrompt$ npm install

> bcrypt@1.0.2 install /Users/me/Documents/Heroku/myap/node_modules/parse-server/node_modules/bcrypt
> node-pre-gyp install --fallback-to-build

node-pre-gyp ERR! Tried to download(404): https://github.com/kelektiv/node.bcrypt.js/releases/download/v1.0.2/bcrypt_lib-v1.0.2-node-v72-darwin-x64.tar.gz 
node-pre-gyp ERR! Pre-built binaries not found for bcrypt@1.0.2 and node@12.16.0 (node-v72 ABI) (falling back to source compile with node-gyp) 
node-pre-gyp ERR! Tried to download(undefined): https://github.com/kelektiv/node.bcrypt.js/releases/download/v1.0.2/bcrypt_lib-v1.0.2-node-v72-darwin-x64.tar.gz 
node-pre-gyp ERR! Pre-built binaries not found for bcrypt@1.0.2 and node@12.16.0 (node-v72 ABI) (falling back to source compile with node-gyp) 
  CXX(target) Release/obj.target/bcrypt_lib/src/blowfish.o
  CXX(target) Release/obj.target/bcrypt_lib/src/blowfish.o
rm: ./Release/.deps/Release/obj.target/bcrypt_lib/src/blowfish.o.d.raw: No such file or directory
make: *** [Release/obj.target/bcrypt_lib/src/blowfish.o] Error 1
gyp  CXX(target) Release/obj.target/bcrypt_lib/src/bcrypt.o
 ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)
gyp ERR! stack     at ChildProcess.emit (events.js:321:20)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:275:12)
gyp ERR! System Darwin 18.7.0
gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "build" "--fallback-to-build" "--module=/Users/me/Documents/Heroku/myap/node_modules/parse-server/node_modules/bcrypt/lib/binding/bcrypt_lib.node" "--module_name=bcrypt_lib" "--module_path=/Users/me/Documents/Heroku/myap/node_modules/parse-server/node_modules/bcrypt/lib/binding"
gyp ERR! cwd /Users/me/Documents/Heroku/myap/node_modules/parse-server/node_modules/bcrypt
gyp ERR! node -v v12.16.0
gyp ERR! node-gyp -v v5.0.5
gyp ERR! not ok 
node-pre-gyp ERR! build error 
node-pre-gyp ERR! stack Error: Failed to execute '/usr/local/bin/node /usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js build --fallback-to-build --module=/Users/me/Documents/Heroku/myap/node_modules/parse-server/node_modules/bcrypt/lib/binding/bcrypt_lib.node --module_name=bcrypt_lib --module_path=/Users/me/Documents/Heroku/myap/node_modules/parse-server/node_modules/bcrypt/lib/binding' (1)
node-pre-gyp ERR! stack     at ChildProcess.<anonymous> (/Users/me/Documents/Heroku/myap/node_modules/parse-server/node_modules/node-pre-gyp/lib/util/compile.js:83:29)
node-pre-gyp ERR! stack     at ChildProcess.emit (events.js:321:20)
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:286:5)
node-pre-gyp ERR! System Darwin 18.7.0
node-pre-gyp ERR! command "/usr/local/bin/node" "/Users/me/Documents/Heroku/myap/node_modules/parse-server/node_modules/.bin/node-pre-gyp" "install" "--fallback-to-build"
node-pre-gyp ERR! cwd /Users/me/Documents/Heroku/myap/node_modules/parse-server/node_modules/bcrypt
node-pre-gyp ERR! node -v v12.16.0
node-pre-gyp ERR! node-pre-gyp -v v0.6.32
node-pre-gyp ERR! not ok 
Failed to execute '/usr/local/bin/node /usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js build --fallback-to-build --module=/Users/me/Documents/Heroku/myap/node_modules/parse-server/node_modules/bcrypt/lib/binding/bcrypt_lib.node --module_name=bcrypt_lib --module_path=/Users/me/Documents/Heroku/myap/node_modules/parse-server/node_modules/bcrypt/lib/binding' (1)
../src/bcrypt.cc:52:10: fatal error: 'node_blf.h' file not found4
#include "node_blf.h"
         ^~~~~~~~~~~~
1 error generated.
make: *** [Release/obj.target/bcrypt_lib/src/bcrypt.o] Error 1
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)
gyp ERR! stack     at ChildProcess.emit (events.js:321:20)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:275:12)
gyp ERR! System Darwin 18.7.0
gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "build" "--fallback-to-build" "--module=/Users/me/Documents/Heroku/myap/node_modules/parse-server/node_modules/bcrypt/lib/binding/bcrypt_lib.node" "--module_name=bcrypt_lib" "--module_path=/Users/me/Documents/Heroku/myap/node_modules/parse-server/node_modules/bcrypt/lib/binding"
gyp ERR! cwd /Users/me/Documents/Heroku/myap/node_modules/parse-server/node_modules/bcrypt
gyp ERR! node -v v12.16.0
gyp ERR! node-gyp -v v5.0.5
gyp ERR! not ok 
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: bcrypt@1.0.2 (node_modules/parse-server/node_modules/bcrypt):
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: bcrypt@1.0.2 install: `node-pre-gyp install --fallback-to-build`
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1

audited 1129 packages in 7.152s

1 package is looking for funding
  run `npm fund` for details

found 108 vulnerabilities (25 low, 49 moderate, 34 high)
  run `npm audit fix` to fix them, or `npm audit` for details
ShellPrompt$ 

我试图在 package.json 中去掉这一行:

"bcryptjs": "^2.4.3",

但无论哪种情况,我都会遇到同样的麻烦。

【问题讨论】:

    标签: node.js heroku npm-install package.json parse-server


    【解决方案1】:

    检查这个:https://github.com/kelektiv/node.bcrypt.js/wiki/Installation-Instructions

    如果在npm install 时遇到 kerberos 问题,请将解析服务器更新到最新版本 "parse-server": "3.9.0" 并删除 "kerberos": "~0.0.x"

    【讨论】:

    • 现在我有 "parse-server": "^3.9.0" 和 "kerberos": "~0.0.x" 并且它似乎在我所见的范围内工作。
    猜你喜欢
    • 2014-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-17
    • 2017-09-28
    • 2017-08-21
    • 2018-09-11
    • 1970-01-01
    相关资源
    最近更新 更多