Installation on macOS Platforms

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 comes 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 x86 64-bit macOS operating systems:

  1. Navigate to the Oracle Technology Network Downloads page. Depending on the workload, select Oracle GraalVM Enterprise Edition based on JDK8 for macOS or Oracle GraalVM Enterprise Edition based on JDK11 for macOS, and accept the Oracle License Agreement.
  2. Extract the archive to your file system:
    tar -xvf <graalvm-archive>.tar.gz

    Alternatively, open the file in Finder.

  3. 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> /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.

  4. 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

      Verify whether you are using GraalVM with echo $PATH.

    • Set the JAVA_HOME environment variable to resolve to the GraalVM Enterprise installation directory:
        export JAVA_HOME=/Library/Java/JavaVirtualMachines/<graalvm>/Contents/Home

To check whether the installation was successful, enter java -version command. Optionally, you can specify GraalVM Enterprise as the JRE or JDK installation in your Java IDE.

Note on macOS 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 appears to sort 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.

Install Additional Functionalities

The base distribution of GraalVM Enterprise for Linux platforms includes the JVM, the GraalVM compiler, the LLVM runtime, and the Node.js JavaScript runtime environment for servers and applications. The base installation can be extended with:


To assist a user with installation, GraalVM Enterprise 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 the GraalVM Enterprise core.