【问题标题】:Problem with Installing/Running GraalVM on Mac在 Mac 上安装/运行 GraalVM 的问题
【发布时间】:2021-01-19 06:24:53
【问题描述】:

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

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

为了能够做到这一点,我必须安装 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\bin在我的路上。

在此之后,我去了https://code.quarkus.io/ 并上传了一个Hello World Quarkus 项目,以使用 gradle (6.8) 构建。

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

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

java.lang.RuntimeException: Cannot find the `native-image` in the GRAALVM_HOME, JAVA_HOME and System PATH. Install it using `gu install native-image`

尝试运行 gu install native-image 会导致我的屏幕上弹出一个窗口

“graalvm-ce-java11-20.3.0” is damaged and can’t be opened. You should move it to the Bin.

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

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

任何帮助或提示将不胜感激。提前谢谢你。

【问题讨论】:

    标签: quarkus graalvm graalvm-native-image


    【解决方案1】:

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

    xattr -d com.apple.quarantine <PATH TO GRAALVM INSTALLATION>
    

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

    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.apple.quarantine /Users/myId/work/dev/graalvm/graalvm-ce-java11-21.0.0/Contents/Home。希望我的评论和你的正确答案能帮助其他人进入同样的陷阱
    猜你喜欢
    • 1970-01-01
    • 2014-09-16
    • 2019-01-07
    • 2016-01-06
    • 2019-04-25
    • 2011-09-09
    • 2016-03-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多