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 come with the .dmg download. Note that in macOS,
the JDK installation path is:
Follow these steps to install Oracle GraalVM Enterprise Edition on the macOS operating system:
- Navigate to Oracle GraalVM Downloads. Depending on the workload, select Oracle GraalVM Enterprise Edition based on JDK8 for macOS or Oracle GraalVM Enterprise Edition based on JDK11 for macOS.
- Click on the Oracle GraalVM Enterprise Edition Core download link. Before you download a file, you must accept the Oracle License Agreement in the popup window.
- When the download button becomes active, press it to start downloading **graalvm-ee-java
- Unzip the archive:
tar -xzf graalvm-ee-java<version>-darvin-amd64-<version>.tar.gz
Alternatively, open the file in Finder.
- Move the downloaded package to its proper location, the
/Library/Java/JavaVirtualMachinesdirectory. Since this is a system directory,
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
- There can be multiple JDKs installed on the machine. The next step is to configure the runtime environment:
- Point the
PATHenvironment variable to the GraalVM Enterprise
- Set the
JAVA_HOMEenvironment variable to resolve to the GraalVM Enterprise installation directory:
- Point the
- To check whether the installation was successful, run the
java -versioncommand. Optionally, you can specify GraalVM Enterprise as the default JRE or JDK installation in your Java IDE.
On Software Notarization
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_HOME
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
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.
- Native Image – a technology to compile an application ahead-of-time into a native executable
- LLVM toolchain – a set of tools and APIs for compiling native programs to bitcode that can be executed on GraalVM Enterprise Java on Truffle – a Java Virtual Machine implementation based on a Truffle interpreter for GraalVM Enterprise
- Python – Python 3.8.5 compatible
- Ruby – Ruby 2.7.2 compatible
- R – GNU R 3.6.1 compatible
- Wasm – WebAssembly (Wasm)
These functionalities are not part of the GraalVM Enterprise base distribution and must be downloaded and installed separately.
To assist users 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.