Experimental feature in GraalVM

Installing TruffleRuby

The recommended way to install TruffleRuby is via your Ruby manager/installer, see Getting Started.

You can also install TruffleRuby by manually downloading the binary tarball, extracting it, running the post-install script and adding TruffleRuby to $PATH. This page documents the URLs and the extra steps necessary after downloading the tarball.

Dependencies #

TruffleRuby’s dependencies need to be installed for TruffleRuby to run correctly.

Oracle GraalVM and GraalVM Community Edition #

There are 2 variants of TruffleRuby and GraalVM:

  • Oracle GraalVM, which provides the best TruffleRuby experience: it is significantly faster and more memory-efficient.
  • GraalVM Community Edition, which is fully open-source.

Oracle GraalVM is the GraalVM distribution from Oracle available under the GraalVM Free Terms and Conditions.

Native Standalone #

Releases of the Native Standalone are available on GitHub. The Native Standalones are the files:

# Oracle GraalVM Native Standalone
truffleruby-VERSION-PLATFORM.tar.gz
# GraalVM Community Edition Native Standalone
truffleruby-community-VERSION-PLATFORM.tar.gz

Development builds are also available.
More platforms for dev builds are available here but those builds tend to be slightly older. The Native Standalones are the files truffleruby-community-dev-PLATFORM.tar.gz.

JVM Standalone #

Releases of the Native Standalone are available on GitHub. The JVM Standalones are the files:

# Oracle GraalVM JVM Standalone
truffleruby-jvm-VERSION-PLATFORM.tar.gz
# GraalVM Community Edition JVM Standalone
truffleruby-community-jvm-VERSION-PLATFORM.tar.gz

Development builds are also available. The JVM Standalones are the files truffleruby-community-jvm-dev-PLATFORM.tar.gz.

After Downloading #

Once you have downloaded a tarball, extract it. We will refer to the directory you extracted it as $EXTRACTED_DIRECTORY. This directory should contain bin/truffleruby, lib/truffle, etc.

Then you need to run the post-install script. This is necessary to make the Ruby openssl C extension work with your system libssl. The path of the script will be:

$EXTRACTED_DIRECTORY/lib/truffle/post_install_hook.sh

You can then add $EXTRACTED_DIRECTORY/bin to PATH and use ruby/gem/bundle/etc.

RubyGems Configuration #

Note that you also need to ensure GEM_HOME and GEM_PATH are not set, so TruffleRuby uses the correct GEM_HOME and GEM_PATH. See Using TruffleRuby without a Ruby manager for details.

Connect with us