Ruby plugin for asdf version manager
asdf plugin add ruby https://github.com/asdf-vm/asdf-ruby.git
Please make sure you have the required system dependencies installed before trying to install Ruby.
Check asdf readme for instructions on how to install & manage versions of Ruby.
When installing Ruby using asdf install
, you can pass custom configure options with the env vars supported by ruby-build.
Under the hood, asdf-ruby uses ruby-build to build and install Ruby, check its README for more information about build options and the troubleshooting wiki section for any issues encountered during installation of ruby versions.
You may also apply custom patches before building with RUBY_APPLY_PATCHES
, e.g.
RUBY_APPLY_PATCHES=$'dir/1.patch\n2.patch\nhttp://example.com/3.patch' asdf install ruby 2.4.1
RUBY_APPLY_PATCHES=$(curl -s https://raw.githubusercontent.com/rvm/rvm/master/patchsets/ruby/2.1.1/railsexpress) asdf install ruby 2.1.1
By default asdf-ruby uses the latest release of ruby-build, but you can choose your own branch/tag through the ASDF_RUBY_BUILD_VERSION
variable:
ASDF_RUBY_BUILD_VERSION=master asdf install ruby 2.6.4
asdf-ruby can automatically install a set of default gems right after
installing a Ruby version. To enable this feature, provide a
$HOME/.default-gems
file that lists one gem per line, for example:
bundler
pry
gem-ctags
You can specify a non-default location of this file by setting a ASDF_GEM_DEFAULT_PACKAGES_FILE
variable.
asdf uses the .tool-versions
for auto-switching between software versions.
To ease migration, you can have it read an existing .ruby-version
file to
find out what version of Ruby should be used. To do this, add the following to
$HOME/.asdfrc
:
legacy_version_file = yes
If you are migrating from version manager that supported fuzzy matching in .ruby-version
like rvm or chruby,
note that you might have to change .ruby-version
to include full version (e.g. change 2.6
to 2.6.1
).