- GraalVM for JDK 23 (Latest)
- GraalVM for JDK 24 (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/<graalvm>/Contents/Home.
Follow these steps to install GraalVM:
-
Navigate to the GraalVM Downloads page. Select 21 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.
- 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
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
PATH
environment variable to the GraalVM bin directory:export PATH=/Library/Java/JavaVirtualMachines/<graalvm>/Contents/Home/bin:$PATH
- Set 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 in the top level Contents directory.
This means that GraalVM participates in the macOS-specific /usr/libexec/java_home
mechanism. Depending on other JDK installation(s) available, it is now possible that /usr/libexec/java_home -v21
returns /Library/Java/JavaVirtualMachines/<graalvm>/Contents/Home
.
You can run /usr/libexec/java_home -v21 -V
to see the complete list of JVMs available to the java_home
command. This command sorts the JVMs in decreasing version order and chooses the top one as the default for the specified version.
Within a specific version, the sort order appears to be stable but is unspecified.