Installation on macOS Platforms

Oracle provides GraalVM Enterprise Edition for macOS on AMD64 (Intel) and AArch64 architectures.

GraalVM Enterprise can be installed for a single user and administrator privileges are not required. However, if GraalVM Enterprise is meant to become a default JDK, administrator privileges are required.

GraalVM Enterprise does not provide the installation wizard, unlike Oracle JDK distributions for macOS that come with the .dmg download. Note that in macOS, the JDK installation path is: /Library/Java/JavaVirtualMachines/<graalvm>/Contents/Home.

Follow these steps to install Oracle GraalVM Enterprise Edition on the macOS operating system:

  1. Navigate to Oracle GraalVM Downloads.

  2. Select 11, 17 or 19 for the Java version, macOS for the operating system and amd64 or aarch64 for the architecture.

  3. Click on the GraalVM Enterprise JDK download link. Before you download a file, you must accept the Oracle License Agreement in the popup window.

  4. When the download button becomes active, press it to start downloading.

  5. Unzip the archive:
    tar -xzf graalvm-ee-java<version>-darwin-<architecture>-<version>.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
    
  6. 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-ee-java<version>-<version> /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.

  1. There can be multiple JDKs installed on the machine. The next step is to configure the runtime environment:
    • Point the PATH environment variable to the GraalVM Enterprise bin directory:
       export PATH=/Library/Java/JavaVirtualMachines/<graalvm>/Contents/Home/bin:$PATH
      
    • Set the JAVA_HOME environment variable to resolve to the GraalVM Enterprise installation directory:
       export JAVA_HOME=/Library/Java/JavaVirtualMachines/<graalvm>/Contents/Home
      
  2. To check whether the installation was successful, run the java -version command.

Optionally, you can specify GraalVM Enterprise 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 folder. This means that GraalVM Enterprise participates in the macOS-specific /usr/libexec/java_home mechanism. Depending on other JDK 8 installation(s) available, it is now possible that /usr/libexec/java_home -v1.8 returns /Library/Java/JavaVirtualMachines/<graalvm>/Contents/Home. You can run /usr/libexec/java_home -v1.8 -V to see the complete list of 1.8 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.

Supported Functionalities

The base distribution of GraalVM Enterprise for macOS platforms includes Oracle JDK with the GraalVM compiler enabled. The base installation can be additionally extended with:

Tools/Utilities:

Language runtimes:

To assist a user with installation, GraalVM includes GraalVM Updater, a command line utility to install and manage additional functionalities. Proceed to the installation steps to add any necessary language runtime or utility from above to GraalVM.