--- layout: post title: "Installing Ruby with RVM on Alpine Linux" date: 2023-03-16 --- For some on-going projects I need to switch to different versions of `ruby`. Although there exist many step-by-step instructions on installing and configuring `rvm` for most Linux distros, there aren't many focused on Alpine "daily drivers". So this post is more or less a helpful document for my future self. If it happens to help others then that's an added bonus! ## Simple Setup Make sure you have the basic packages first: apk update apk add curl gcc gnupg gpg dirmngr procps musl-dev linux-headers zlib zlib-dev openssl openssl-dev libssl1.1 Next download the latest `stable` version of `rvm` from Github, unpack it, place it in the proper user directory (~/.rvm) and install any required libs: curl -sSL https://github.com/rvm/rvm/tarball/stable -o rvm-stable.tar.gz echo 'export rvm_prefix="$HOME"' > ~/.rvmrc echo 'export rvm_path="$HOME/.rvm"' >> ~/.rvmrc mkdir rvm && cd rvm tar --strip-components=1 -xzf ../rvm-stable.tar.gz ./install --auto-dotfiles --autolibs=0 Now we can remove everything and properly link to `rvm`: cd ../ && rm -rf rvm-stable stable.tar.gz rvm source ~/.rvm/scripts/rvm **Note**: If you plan to work with `bundler` be sure to do the following before installing ruby versions via `rvm`: rvm pkg install openssl rvm pkg install libyaml Now you can freely install any version of Ruby that you desire! rvm install ruby-X.X.X