dyld: 未找到符号: _JNI_CreateJavaVM
此错误是什么意思?
我需要做些什么来解决这个问题?
我正在尝试在Mac OS El Captain上运行基于java的node.js(特别是xslt4node)模块,但每次我都会收到此错误。对于Windows用户来说,一切似乎都正常。完整的错误如下:
dyld:惰性符号绑定失败:找不到符号:_JNI_CreateJavaVM 引用自:/projects/main-project/node_modules/java/build/Release/nodejavabridge_bindings.node 预期于:平面命名空间
dyld: 找不到符号: _JNI_CreateJavaVM 引用自: /projects/main-project/node_modules/java/build/Release/nodejavabridge_bindings.node Expected in: flat namespace
我发现架构x86_64的未定义符号:JNI_CreateJavaVM OS-X Xcode,这是我能找到的最接近的符号,可以解释我的确切问题,但我没有使用xcode进行开发,我在一个节点.js平台上。
以前有没有人见过这个?这是什么意思?
到目前为止,我已经尝试过:
- 更改 Java 版本
- 删除和重建
node_moudles
- 添加 JVM 功能
<string>JNI</string>
- 卸载Java,根据此处的文档:https://www.java.com/en/download/help/mac_uninstall_java.xml 运行这些命令没有任何作用:
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)
- 尝试不同版本的节点 (7.10.0)
- 完全卸载 node/npm,并重新安装