HomebrewでGraalVM CE 21.3.0をインストールしてみた

2021/11/03に公開

GrallVMがJava17に対応したと書いてあったので、とりあえずインストールしてみました。

GrallVMのポイント

  • JavaScript、Ruby、Python、およびその他の多くの一般的な言語をサポート
  • Javaおよびその他のJVM言語で記述されたアプリケーションの実行を高速化するように設計された高性能JDKディストリビューション
  • GraalVM 21.3.0からJava17に対応

前提条件

  • macを利用していること
  • Java17を利用していること

"GraalVM Community Edition 21.3.0"のインストール

$ brew install --cask graalvm/tap/graalvm-ce-java17
==> Tapping graalvm/tap
Cloning into '/usr/local/Homebrew/Library/Taps/graalvm/homebrew-tap'...
remote: Enumerating objects: 233, done.
remote: Counting objects: 100% (82/82), done.
remote: Compressing objects: 100% (44/44), done.
remote: Total 233 (delta 39), reused 77 (delta 36), pack-reused 151
Receiving objects: 100% (233/233), 70.36 KiB | 585.00 KiB/s, done.
Resolving deltas: 100% (95/95), done.
Tapped 6 casks (20 files, 98.4KB).
==> Caveats
!! GraalVM distributions based on OpenJDK 17 are considered experimental 
with several known limitations. Please see
  https://www.graalvm.org/release-notes/known-issues/

Installing GraalVM CE (Java 17) in /Library/Java/JavaVirtualMachines requires root permissions.
You may be asked to enter your password to proceed.

On macOS Catalina, you may get a warning that "the developer cannot be
verified". This check can be disabled in the "Security & Privacy"
preferences pane or by running the following command:
  xattr -r -d com.apple.quarantine "/Library/Java/JavaVirtualMachines/graalvm-ce-java17-21.3.0"

To use GraalVM CE, you may want to change your $JAVA_HOME:
  export JAVA_HOME="/Library/Java/JavaVirtualMachines/graalvm-ce-java17-21.3.0/Contents/Home"

or you may want to add its `bin` directory to your $PATH:
  export PATH="/Library/Java/JavaVirtualMachines/graalvm-ce-java17-21.3.0/Contents/Home/bin:$PATH"

GraalVM CE is licensed under the GPL 2 with Classpath exception:
  https://github.com/oracle/graal/blob/master/LICENSE

==> Downloading https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-21.3.0/graalvm-ce-java17-darwin-amd64-21.3.0.tar.gz
==> Downloading from https://github-releases.githubusercontent.com/222889977/9fed1ad0-cdd1-462f-aad0-83ad488d8cb0?X-Amz-Algorithm=AWS4-HMAC-SHA256&
######################################################################## 100.0%
==> Installing Cask graalvm-ce-java17
==> Moving Generic Artifact 'graalvm-ce-java17-21.3.0' to '/Library/Java/JavaVirtualMachines/graalvm-ce-java17-21.3.0'
🍺  graalvm-ce-java17 was successfully installed!

補足

Quarkusでネイティブイメージを生成しようとしたらエラーが発生

こんな警告が表示されたので下記のコマンドを実行して解決しました

# $ sudo xattr -r -d com.apple.quarantine path/to/graalvm/folder/
$ sudo xattr -r -d com.apple.quarantine /Library/Java/JavaVirtualMachines/graalvm-ce-java17-21.3.0/

"GraalVM Community Edition 21.3.0"の個別ダウンロードする場合

https://github.com/graalvm/graalvm-ce-builds/releases/tag/vm-21.3.0

例)MacでJava17ベースのものを利用する場合

「Java 17 based」の「MacOS (amd64)」をダウンロードすればOK

※ macOS Catalinaだったら次のコマンドで隔離属性を削除してね[1]って記載あり

Java 17 based
MacOS (amd64) † - link

† If you are using macOS Catalina and later you may need to remove the quarantine attribute from the bits before you can use them
To do this, run the following:

$ sudo xattr -r -d com.apple.quarantine path/to/graalvm/folder/

参考資料

https://medium.com/graalvm/graalvm-21-3-is-here-java-17-native-image-performance-updates-and-more-ac4cbafcfc05

https://www.graalvm.org/release-notes/21_3/

https://github.com/graalvm/graalvm-ce-builds/releases/tag/vm-21.3.0

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

https://en.wikipedia.org/wiki/Quarkus

脚注
  1. macOS Catalinaでは、「開発者を確認できません」という警告が表示される場合があり、これはGraalVMがまだ署名および公証されていないためらしい ↩︎

Discussion