node-gyp: Error: `make` failed with exit code: 2

node-gyp: Error: `make` failed with exit code: 2

我遇到了一个奇怪的问题,这在互联网上似乎是独一无二的。这一切都始于一个简单的

sudo npm install java

这导致:

4 warnings generated.
  SOLINK_MODULE(target) Release/nodejavabridge_bindings.node
ld: library not found for -ljli
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [Release/nodejavabridge_bindings.node] Error 1
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/Users/bob/.nvm/versions/node/v12.16.1/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)
gyp ERR! stack     at ChildProcess.emit (events.js:311:20)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:275:12)
gyp ERR! System Darwin 19.3.0
gyp ERR! command "/Users/bob/.nvm/versions/node/v12.16.1/bin/node" "/Users/bob/.nvm/versions/node/v12.16.1/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/bob/Documents/node-synfis-backend/node_modules/java
gyp ERR! node -v v12.16.1
gyp ERR! node-gyp -v v5.0.5
gyp ERR! not ok 
npm WARN synfis-backend@0.9.1 No description
npm WARN synfis-backend@0.9.1 No repository field.
npm WARN The package @types/fs-extra is included as both a dev and production dependency.

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! java@0.12.1 install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the java@0.12.1 install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/bob/.npm/_logs/2020-02-21T08_10_18_068Z-debug.log

我在互联网上做了很多研究,抓住了我找到的每根稻草。最后没有任何效果,我希望这不是宇宙中明显的错误。

感谢您的帮助!

提前致谢

我认为这是因为您使用的是 Node 13。请参阅 here

使用 make 构建 Couchbase 时出现错误。

如果您使用 nvm 或类似软件,请切换到 Node 12 并重试。

此外,你到底在做什么安装 Java - 使用 Node! :-P

问题是 solved/avoided 降级到

java 版本“1.8.0_241” Java(TM) SE 运行时环境(build 1.8.0_241-b07) Java HotSpot(TM) 64 位服务器 VM(内部版本 25.241-b07,混合模式)

我遇到了类似的问题。

node-gyp用于编译原生模块,但在本例中没有必要。在我的例子中,它试图编译 node-sass,然后出现了与你相同的错误。

每次我 运行 npm install 并在我的主目录中创建一个隐藏文件夹“.node-gyp”时,我就知道有问题

我使用的是节点 12.18.3。我开始尝试一些旧版本。

我的 OS 是 Linux Mint 19.1。当我选择它的节点系统版本8.10.0时,问题就解决了