找不到 jni.h 文件 - 在 OS X El Capitan 上安装 node-java 模块

2024-05-05

我正在尝试安装node-java允许 Node.js 连接到现有的模块Java蜜蜂。这是我用来安装此模块的命令:

须藤 npm 安装 java -g

这是我收到的错误的堆栈跟踪:

> [email protected] /cdn-cgi/l/email-protection install /usr/local/lib/node_modules/java
> node-gyp rebuild

CXX(target) Release/obj.target/nodejavabridge_bindings/src/java.o
In file included from ../src/java.cpp:1:
../src/java.h:7:10: fatal error: 'jni.h' file not found
#include <jni.h>
     ^
1 error generated.
make: *** [Release/obj.target/nodejavabridge_bindings/src/java.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:267:23)
gyp ERR! stack     at ChildProcess.emit (events.js:98:17)
gyp ERR! stack     at Process.ChildProcess._handle.onexit    (child_process.js:810:12)
gyp ERR! System Darwin 15.6.0
gyp ERR! command "node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /usr/local/lib/node_modules/java
gyp ERR! node -v v0.10.33
gyp ERR! node-gyp -v v1.0.1
gyp ERR! not ok

这里需要注意的有趣的事情是我可以使用以下命令在本地安装相同的模块npm 安装 java将其安装在以下命令中:

/Users/[$my_username]/node_modules

以下是一些附加信息:

Node

v0.10.33

Java

java version "1.8.0_101"
Java(TM) SE Runtime Environment (build 1.8.0_101-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode)

$JAVA_HOME

/Library/Java/JavaVirtualMachines/jdk1.8.0_101.jdk/Contents/Home/include

找到jni.h

/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/JavaVM.framework/Versions/A/Headers/jni.h
 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift-migrator/sdk/MacOSX.sdk/System/Library/Frameworks/JavaVM.framework/Versions/A/Headers/jni.h
/Library/Java/JavaVirtualMachines/jdk1.7.0_80.jdk/Contents/Home/include/jni.h
 /Library/Java/JavaVirtualMachines/jdk1.8.0_101.jdk/Contents/Home/include/jni.h

我知道这篇文章很旧,但它作为排名第一的搜索出现,这就是当我尝试使用 Java 1.8 安装 node-java 时解决此问题的方法

The JAVA_HOME被指向错误的位置。

它应该是:

/Library/Java/JavaVirtualMachines/jdk1.8.0_101.jdk/Contents/Home/

设置此属性的最佳方法是将其导出:

export JAVA_HOME=`/usr/libexec/java_home -v 1.8.0`

在 Mac 系统中,我注意到,如果您在指定版本的末尾不包含 0,它将提取 JRE 位置,而不是 Node-gyp 使用的 JDK。

另外,您想验证 JAVA_HOME 是否已正确导出,您可以通过在终端中运行以下命令来验证这一点:

echo $JAVA_HOME
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

找不到 jni.h 文件 - 在 OS X El Capitan 上安装 node-java 模块 的相关文章

随机推荐

  • 为什么要使用 Python 进行函数式编程?

    在工作中 我们过去常常以非常标准的面向对象方式来编写 Python 程序 最近 有几个人加入了功能性潮流 他们的代码现在包含更多的 lambda map 和reduce 我知道函数式语言有利于并发性 但是函数式 Python 编程真的有助于
  • 缩小并捆绑 NodeJS 项目

    没有找到关于这个主题的太多信息 是否有任何工具 gulp 用于缩小和捆绑nodejs服务器项目 包括其node module依赖项 我遇到了无法运行的情况npm install在生产机器上 我的 可执行 大小限制为最大 20 MB 你应该看
  • 如何使用requirements.txt 在 Heroku python Web 应用程序中安装 Dlib?

    我构建了一个涉及机器学习的 Python Flask Web API 但在 Heroku 上部署它时遇到了很多挫折 问题是 我的应用程序依赖于 Dlib 一个库 我似乎找不到在我的 Heroku 服务器中安装的方法 我正在试图解决这个问题
  • Kafka Java 消费者从未收到任何消息

    我正在尝试设置一个基本的 Java 消费者来接收来自 Kafka 主题的消息 我已经跟踪了样本 https cwiki apache org confluence display KAFKA Consumer Group Example h
  • async-await 如何“节省线程”?

    我知道使用无线程异步有更多线程可用于服务输入 例如 HTTP 请求 但我不明白当异步操作完成并且需要一个线程来运行它们时 这如何不会潜在地导致线程饥饿继续 假设我们只有 3 个线程 Thread 1 Thread 2 Thread 3 并且
  • 如何在 Github 包中添加我的 Android 库的依赖项?

    我正在构建一个 Android 库 比如说 MyLibrary 这将被添加到我公司的其他应用程序中 该库有一些依赖项build gradle像这样的文件 dependencies implementation com alimuzaffar
  • serverless-webpack 找不到模块“./node/NodeTemplatePlugin”

    我正在尝试使用无服务器 webpack 插件 https github com elastic coders serverless webpack 虽然单独运行 webpack 工作得很好 但尝试运行 serverless webpack
  • 是否可以从 VS2010 插件刷新 WCF 服务引用?

    我想在 VS2010 插件中 模拟 右键单击 更新服务引用命令 我有一个对包含 Silverlight 项目的引用 我知道服务引用的名称和服务的 url 我发现了这个 http dedjo blogspot com 2007 03 addi
  • Z3 Java API 定义函数

    我需要您帮助使用 Z3 Java API 定义函数 我尝试解决这样的问题 与 z3 exe 进程一起工作正常 declare fun a Real declare fun b Real declare fun c Bool define f
  • 如何计算第一和第三四分位数?

    我有数据框 time diff avg trips 0 0 450000 1 0 1 0 483333 1 0 2 0 500000 1 0 3 0 516667 1 0 4 0 533333 2 0 我想获得该列的第一个四分位数 第三个四
  • Mysql 按特定字符串排序

    我似乎找不到这个问题的答案 假设我有一个像这样的表 ID Name 1 AAAAAAAAA 2 ABAAAAAAA 3 BBAAAAAAA 4 CDAAAAAAA 5 BBAAAAAAA 有什么办法可以通过以下方式订购name 但是 从说开
  • 由于屏幕方向变化而调整大小后,如何获取元素的新尺寸?

    我正在开发一个移动网络应用程序 在我的页面中我有一个div元素的宽度设置为 100 我需要设置这个的高度div以便高度对于设定的纵横比是正确的 例如 如果屏幕尺寸为 300 像素宽且比例为 3 2 我的脚本应该获取屏幕的宽度div 此时应为
  • 使用 sunspot/solr 搜索多个模型

    我已经能够成功地实现基本的全文搜索 但是当我尝试使用范围 with statements 时 任何涉及多对多关系模型的查询似乎都不适合我 我知道相关行位于数据库中 因为我的 sql 语句确实返回了数据 然而 太阳黑子查询不会返回任何结果 我
  • 从节点服务器上的 AWS S3 获取签名 URL

    Solved 我想得到一个签名网址从我的亚马逊S3服务器 我是新来的AWS 我在哪里设置我的密钥 and 访问 ID 密钥以便S3识别来自我的请求server var express require express var app expr
  • “-webkit-text-fill-color”和“颜色”之间的区别?

    我试图理解之间的区别 webkit text fill color只是简单地color 功能上有什么区别吗 据我所知 它们是完全相同的 有什么事情你可以用其中一个来做 而另一个却不能做吗 来自WebKit 博客 http www webki
  • 如何在 jQuery 中检测水平滚动?

    如何使用 jQuery 检测水平滚动 这将获得所有卷轴 window scroll function alert in 我只想要水平的 这似乎有效 var lastScrollLeft 0 window scroll function va
  • 在另一个模块中扩展 Ruby 模块,包括模块方法

    每当我尝试扩展 ruby 模块时 我都会丢失模块方法 include 和extend 都不会执行此操作 考虑一下片段 module A def self say hi puts hi end end module B include A e
  • 如何在汇编语言中换行打印多个字符串

    我试图在汇编中的不同行上打印多个字符串 但使用我的代码 它只打印最后一个字符串 我对汇编语言非常陌生 所以请耐心等待 section text global start start mov edx len mov edx len1 mov
  • 是否可以在不使用“Arc”的情况下拥有“内部指针”?

    struct Device struct CommandBuffer device Device Does not work because Rust does not allow internal pointers struct Some
  • 找不到 jni.h 文件 - 在 OS X El Capitan 上安装 node-java 模块

    我正在尝试安装node java允许 Node js 连接到现有的模块Java蜜蜂 这是我用来安装此模块的命令 须藤 npm 安装 java g 这是我收到的错误的堆栈跟踪 gt email protected cdn cgi l emai