Install Raku

Linux

Other download and installation options are available.

Rakubrew is a Raku installation tool. It allows you to have multiple versions of different Raku implementations installed in parallel and switch between them. It's a perlbrew and plenv look alike and supports both flavours of commands.

Installation

Just copy and paste the following piece of code into a console.

curl https://rakubrew.org/install-on-perl.sh | sh

Bare Bones Installation

If the above installation script somehow doesn't work for you, you can install Rakubrew manually.

First download the Rakubrew executable:

https://rakubrew.org/perl/rakubrew

Then give that file executable permissions:

chmod +x rakubrew

Add the Rakubrew and shim folders to your PATH:

# Bash & ZSH
export PATH=/path/where/rakubrew/is:$PATH
export PATH=$(rakubrew home)/shims:$PATH
# Fish
fish_add_path -g /path/where/rakubrew/is
fish_add_path -g (rakubrew home)/shims

Finally run

rakubrew mode shim

That's all!

Shell Hook

If you want to use env mode, the shell command or have auto-completion, you need to install the shell hook. To get the instructions on how to do that type

rakubrew init

Installation Path

To make Rakubrew use a different directory to store its files set the RAKUBREW_HOME environment variable prior to calling it. Put the following into your .bashrc or similar:

export RAKUBREW =~/rakubrew # or some other path

How

# list available versions
rakubrew available
# download and install the latest Rakudo on MoarVM version
rakubrew download
# switch to use that version (substitute the version you just installed)
rakubrew switch moar-2025.05
raku -e 'say "Now running {$*RAKU.compiler.version}!"'

Global, Shell, Local

Rakubrew knows three different versions that can be set separately.

The global version is the one that is selected when neither the shell version nor the local version are active.

The shell version changes the active raku version just in the current shell. Closing the current shell also looses the shell version.

The local version is specific to a folder. When CWD is in that folder or a sub folder that version of raku is used. Only works in shim mode. To unset a local version one must delete the .RAKU_VERSION file in the respective folder.

Modes

Rakubrew can work in two distinct modes: env and shim

In env mode Rakubrew modifies the $PATH variable as needed when switching between versions. This is neat because one then runs the executables directly. This is the default mode on *nix.

In shim mode Rakubrew generates wrapper scripts called shims for all executables it can find in all the different raku installations. These shims forward to the actual executable when called. This mechanism allows for some advanced features, such as local versions. When installing a module that adds scripts one must make Rakubrew aware of these new scripts. This is done with

rakubrew rehash

In env mode this is not necessary.

Registering External Versions

To add a raku installation to Rakubrew that was created outside of Rakubrew one should do:

rakubrew register name-of-version /path/to/raku/install/directory

Upgrading

rakubrew self-upgrade

Uninstall

To remove Rakubrew and any raku implementations it has installed on your system, delete the ~/.rakubrew and ~/.local/share/rakubrew directories.

Further Info

More information on Rakubrew is available here