问题描述
此错误是什么意思?
我需要怎么做才能解决?
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?
到目前为止,我已经尝试过:
- 更改Java版本
- 删除并重建
node_moudles
- 添加JVM功能
<string>JNI</string>
- 根据此处的文档卸载Java: https://www.java. com/zh-CN/download/help/mac_uninstall_java.xml 运行这些命令不会执行任何操作:
- Changing Java versions
- Deleting and rebuilding
node_moudles
- Adding JVM capabilities
<string>JNI</string>
- Uninstalling Java, per documentation here: https://www.java.com/en/download/help/mac_uninstall_java.xml running those commands does nothing:
- 尝试使用不同版本的节点(7.10.0)
- 完全卸载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的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!