dyld:找不到符号:_JNI_CreateJavaVM [英] dyld: Symbol not found: _JNI_CreateJavaVM

查看:138
本文介绍了dyld:找不到符号:_JNI_CreateJavaVM的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

此错误是什么意思?

我需要怎么做才能解决?

What do I need to do to resolve it?

我正在尝试为node.js运行基于Java的模块(具体来说, xslt4node )在Mac OS El Captain上,但每次出现此错误时. Windows用户似乎一切正常.完整错误如下:

I'm trying to run a java based module for node.js (specifically, xslt4node) on Mac OS El Captain but every time I get this error. Everything seems to work OK for windows users. The full error is below:

dyld:懒惰的符号绑定失败:找不到符号:_JNI_CreateJavaVM 引用自: /projects/main-project/node_modules/java/build/Release/nodejavabridge_bindings.node 预期用于:平面命名空间

dyld: lazy symbol binding failed: Symbol not found: _JNI_CreateJavaVM Referenced from: /projects/main-project/node_modules/java/build/Release/nodejavabridge_bindings.node Expected in: flat namespace

dyld:找不到符号:_JNI_CreateJavaVM引用自: /projects/main-project/node_modules/java/build/Release/nodejavabridge_bindings.node 预期用于:平面命名空间

dyld: Symbol not found: _JNI_CreateJavaVM Referenced from: /projects/main-project/node_modules/java/build/Release/nodejavabridge_bindings.node Expected in: flat namespace

我发现针对架构x86_64的未定义符号:JNI_CreateJavaVM OS-X Xcode ,这是我能找到的最接近的解释我确切问题的方法,但是我没有使用xcode进行开发,而是在node.js平台上.

I found Undefined symbols for architecture x86_64: JNI_CreateJavaVM OS-X Xcode which is the closest I could find that explains my exact problem, but I'm not using xcode for development, I'm on a node.js platform.

其他任何人以前都看过吗?是什么意思?

Has anyone else seen this before? What does it mean?

到目前为止,我已经尝试过:

  1. 更改Java版本
  2. 删除并重建node_moudles
  3. 添加JVM功能<string>JNI</string>
  4. 根据此处的文档卸载Java: https://www.java. com/zh-CN/download/help/mac_uninstall_java.xml 运行这些命令不会执行任何操作:
  1. Changing Java versions
  2. Deleting and rebuilding node_moudles
  3. Adding JVM capabilities <string>JNI</string>
  4. Uninstalling Java, per documentation here: https://www.java.com/en/download/help/mac_uninstall_java.xml running those commands does nothing:

用户:〜kawnah $ sudo rm -fr /Library/PreferencePanes/JavaControlPanel.prefPane用户:〜kawnah $ sudo rm -fr〜/Library/Application \ Support/Java用户:〜kawnah $ java -version Java版本"9.0.1" Java(TM)SE运行时环境 (版本9.0.1 + 11)Java HotSpot(TM)64位服务器VM(版本9.0.1 + 11, 混合模式)

user:~ kawnah$ sudo rm -fr /Library/PreferencePanes/JavaControlPanel.prefPane user:~ kawnah$ sudo rm -fr ~/Library/Application\ Support/Java user:~ kawnah$ java -version java version "9.0.1" Java(TM) SE Runtime Environment (build 9.0.1+11) Java HotSpot(TM) 64-Bit Server VM (build 9.0.1+11, mixed mode)

  1. 尝试使用不同版本的节点(7.10.0)
  2. 完全卸载node/npm,然后重新安装

推荐答案

我终于明白了!

我需要此npm软件包来使node-java在我的计算机上正常工作 https://www. npmjs.com/package/winreg

I needed this npm package for node-java to work properly on my machine https://www.npmjs.com/package/winreg

npm install winreg解决了所有问题

这篇关于dyld:找不到符号:_JNI_CreateJavaVM的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆