本文介绍了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: 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:
  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的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-17 20:49
查看更多