在 M1 MacBook 上运行 TypeDB 时出现 UnsatisfiedLinkError

Ale*_*ker 4 java unsatisfiedlinkerror vaticle-typedb

我尝试使用在我的 M1 MacBook 上运行 TypeDB ./typedb server,但会导致以下错误:

Exception in thread "main" java.lang.UnsatisfiedLinkError: Can't load library: /var/folders/5v/95_mbj013y93vsmc8xps0stm0000gp/T/librocksdbjni8182124459810412816.jnilib
    at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2393)
    at java.base/java.lang.Runtime.load0(Runtime.java:755)
    at java.base/java.lang.System.load(System.java:1953)
Run Code Online (Sandbox Code Playgroud)

此错误看起来可能是在使用不兼容的 JDK 运行 Java 程序时发生的。我可以做什么来解决它?

免责声明 - TypeDB 维护者在此。

Ale*_*ker 7

TypeDB v2.19 或更高版本

\n

从 TypeDB 2.19.0 开始,TypeDB 支持本机 Mac 和 Linuxarm架构。只需安装本机 Java 运行时即可运行 TypeDB。

\n

旧版本的 TypeDB

\n
\n

\xe2\x9a\xa0\xef\xb8\x8f 在 TypeDB 2.19.0 之前,没有可用于aarch64(ARM) 的发行版。截至2023年7月6日,最佳解决方案升级到TypeDB 2.19.0或更高版本。如果通过 Homebrew 执行此操作,请确保您使用的是 ARM64 安装brew(即默认安装)。

\n
\n

如果运行的 JDK 目标aarch64为 (ARM)(M1 Mac 使用的架构),则会UnsatisfiedLinkError在启动时抛出 。TypeDB <v2.19 没有原生 ARM 版本,因此为了让旧版本的 TypeDB 在 M1 MacBook 上正确运行,您需要确保x64安装了针对架构的 JDK。

\n

例如,要安装 Eclipse Temurin(基于 OpenJDK):

\n
    \n
  1. 访问https://adoptium.net/en-GB/temurin/releases/?version=11浏览 Temurin 版本
  2. \n
  3. 选择操作系统和架构.pkg的发行版JDK 11MacOSx64
  4. \n
  5. 下载并安装下面列表中显示的 Java 二进制文件
  6. \n
  7. 通过运行验证 Java 是否已正确安装java --version;输出应与下载的 JDK 版本匹配
  8. \n
\n

请注意,此方法依赖于 MacOS 的Rosetta 翻译,这会造成性能开销。

\n