gpt4 book ai didi

java - dyld : Symbol not found: _JNI_CreateJavaVM

转载 作者:IT老高 更新时间:2023-10-28 23:17:42 34 4
gpt4 key购买 nike

这个错误是什么意思?

我需要做什么来解决它?

我正在尝试在 Mac OS El Captain 上为 node.js(特别是 xslt4node )运行基于 java 的模块,但每次我收到此错误。对于 Windows 用户来说,一切似乎都正常。完整的错误如下:

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: Symbol not found: _JNI_CreateJavaVM Referenced from: /projects/main-project/node_modules/java/build/Release/nodejavabridge_bindings.node Expected in: flat namespace

我找到了 Undefined symbols for architecture x86_64: JNI_CreateJavaVM OS-X Xcode这是我能找到的最接近解释我的确切问题的方法,但我没有使用 xcode 进行开发,我在 node.js 平台上。

有没有其他人见过这个?什么意思?

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

  1. 更改 Java 版本
  2. 删除和重建node_moudles
  3. 添加 JVM 功能 <string>JNI</string>
  4. 卸载 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)

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

最佳答案

基本上,此错误告诉您的是,指向您尝试使用的此模块中的文件的符号链接(symbolic link)存在问题。

Mac OS X's DYLD是操作系统的 dynamic linker .它的工作或多或少是在请求资源时为操作系统加载共享库。

发生这种情况的原因有很多,从模块本身的更新过程失败到驱动损坏等等。

对此特定问题的最常见修复 (1) 是删除您的 node_modules 文件夹并在本地和全局目录中运行全新的 NPM 安装:

rm -rf node_modules/
npm install

您也可以尝试重新构建 npm,但干净安装通常是最好的方法。


  1. 来自已接受的答案 here

关于java - dyld : Symbol not found: _JNI_CreateJavaVM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47927707/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com