在 M1 MacBook 上运行 TypeDB 时出现 UnsatisfiedLinkError

问题描述 投票:0回答:3

我尝试使用

./typedb server
在我的 M1 MacBook 上运行 TypeDB,但结果出现以下错误:

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)

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

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

java unsatisfiedlinkerror vaticle-typedb
3个回答
6
投票

如果运行的 JDK 面向

aarch64
(ARM)(M1 Mac 使用的架构),则启动时会抛出
UnsatisfiedLinkError
。目前还没有 TypeDB 的原生 ARM 版本,因此为了让 TypeDB 在 M1 MacBook 上正确运行,您需要确保安装了面向
x64
架构的 JDK。

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

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

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


4
投票

我的电脑是MacBookAir M1。我也遇到这个问题了

我尝试了Java 17和Java 8,都被归档了。最后,当我切换到 Java 11 时,错误消失了。希望这会有所帮助。


0
投票

从 TypeDB 2.19.0 版本开始,

mac
linux
发行版原生支持
x86_64
/
amd64
arm64
/
aarch64
架构。

这些版本比使用仿真在 Mac 上运行 x86_64 发行版更快。

安装现在就像安装适用于您的本机操作系统+架构的 Java 运行时一样简单,然后通过 apt/brew 分发渠道或从 Github 发布页面为您的操作系统安装 TypeDB:https://github.com /vaticicle/typedb/releases

© www.soinside.com 2019 - 2024. All rights reserved.