- GraalVM for JDK 24 (Latest)
- GraalVM for JDK 25 (Early Access)
- GraalVM for JDK 21
- GraalVM for JDK 17
- Archives
- Dev Build
Installation on macOS Platforms #
GraalVM is available for macOS on x64 and AArch64 architectures.
Note that on macOS the JDK installation path is: _/Library/Java/JavaVirtualMachines/
Follow these steps to install GraalVM:
-
Navigate to the GraalVM Downloads page. Select 17 or 20 for the Java version, macOS for the operating system, x64 or aarch64 for the architecture, and download.
- Unzip the archive.
tar -xzf graalvm-jdk-<version>_macos-<architecture>.tar.gz
Alternatively, open the file in Finder.
Note: If you are using macOS Catalina and later you may need to remove the quarantine attribute:
sudo xattr -r -d com.apple.quarantine /path/to/graalvm
- Move the downloaded package to its proper location, the
/Library/Java/JavaVirtualMachines
directory. Since this is a system directory,sudo
is required:sudo mv graalvm-jdk-<version>_macos-<architecture> /Library/Java/JavaVirtualMachines
To verify if the move is successful and to get a list of all installed JDKs, run
/usr/libexec/java_home -V
. - There can be multiple JDKs installed on the machine. The next step is to configure the runtime environment:
- Set the value of the
PATH
environment variable to the GraalVM bin directory:export PATH=/Library/Java/JavaVirtualMachines/<graalvm>/Contents/Home/bin:$PATH
- Set the
JAVA_HOME
environment variable to resolve to the GraalVM installation directory:export JAVA_HOME=/Library/Java/JavaVirtualMachines/<graalvm>/Contents/Home
- Set the value of the
- To check whether the installation was successful, run the
java -version
command.
Optionally, you can specify GraalVM as the default JRE or JDK installation in your Java IDE.
Installation Notes #
On JAVA_HOME Command #
The information property file, Info.plist, is located in the top-level Contents/ directory.
This allows GraalVM to integrate with the macOS-specific /usr/libexec/java_home
mechanism.
Depending on other installed JDKs, running /usr/libexec/java_home -v<version>
may return /Library/Java/JavaVirtualMachines/<graalvm>/Contents/Home
.
To view all JVMs recognized by java_home
, run /usr/libexec/java_home -V
. This command lists JVMs in descending version order.