npm安装因错误而崩溃



我正在处理一个Node.js/parse服务器项目(在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",

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

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

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

最新更新