在 Mac 上安装/运行 GraalVM 的问题

Jul*_*ian 3 graalvm quarkus graalvm-native-image

我使用的是在防火墙后面运行的 MacOS Catalina 10.15.7 计算机。

\n

我开始评估 Micronaut 和 Quarkus 作为 Spring boot 的替代品,其主要原因之一是能够编译为本机映像。

\n

为了能够做到这一点,我必须安装 GraalVM。我按照此处GraalVM Community Edition 20.3.0 的说明下载了 graalvm-ce-java11-darwin-amd64-20.3.0.tar.gz,将其解压缩到我选择的文件夹中,然后导出/Users/myId/work/dev/graalvm/graalvm-ce-java11-20.3.0/Contents/Home/为 GRAALVM_HOME 并添加了 GRALLVM_HOME\\垃圾箱在我的道路上。

\n

之后,我访问https://code.quarkus.io/并上传了一个Hello World要使用 gradle 构建的 Quarkus 项目(6.8)。

\n

当我运行时,gardle build一切都构建正常。\n当我运行时,gradle quarkusDev应用程序启动正常,我可以到达Hello World终点。

\n

但是,当我尝试构建本机映像时,gradle build -Dquarkus.package.type=native出现以下异常

\n
java.lang.RuntimeException: Cannot find the `native-image` in the GRAALVM_HOME, JAVA_HOME and System PATH. Install it using `gu install native-image`\n
Run Code Online (Sandbox Code Playgroud)\n

gu install native-image尝试在屏幕上弹出的窗口中运行结果,显示

\n
\xe2\x80\x9cgraalvm-ce-java11-20.3.0\xe2\x80\x9d is damaged and can\xe2\x80\x99t be opened. You should move it to the Bin.\n
Run Code Online (Sandbox Code Playgroud)\n

当我尝试使用或gradle build -Dquarkus.package.type=uber-jar仅运行 jar 构建时,会弹出相同的错误窗口gradle build

\n

我不认为我的 GraalVM 下载已损坏,因为解压后的文件看起来没问题,而且结构似乎正确。

\n

任何帮助或提示将不胜感激。先感谢您。

\n

use*_*615 9

在 MacOS catalina 中,您可以通过执行以下命令来解决此问题:

xattr -d com.apple.quarantine <PATH TO GRAALVM INSTALLATION>
Run Code Online (Sandbox Code Playgroud)

这是一个已知问题。更多信息可以在以下链接中找到:

https://github.com/oracle/graal/issues/1724

https://github.com/graalvm/homebrew-tap/issues/6

  • 是的,这解决了我的问题。我在问题之前读过,我没有运行“xattr -d com.apple.quarantine /Users/myId/work/dev/graalvm/graalvm-ce-java11-21.0.0”,而是运行了“xattr -d com.quarantine”。 apple.quarantine /Users/myId/work/dev/graalvm/graalvm-ce-java11-21.0.0/Contents/Home`。希望我的评论和您的正确答案能够帮助其他人陷入同样的​​陷阱 (3认同)