AstonJ

AstonJ

How to install Ruby 3 with ASDF

In case anyone else is wondering why Ruby 3 doesn’t show when you do asdf list-all ruby :man_facepalming: do this first:

asdf plugin-update ruby

Then you can install Ruby 3 with:

asdf install ruby 3.0.0

Or:

asdf install ruby latest

Also updated my blog post here.

Think it would be good if asdf list-all ruby simply does asdf plugin-update ruby beforehand - might save a bit of head scratching for a lot of people :laughing:

Most Liked

dimitarvp

dimitarvp

I have my own script that does a full update of all installed software and I’ve included ASDF updating of all plugins in it for that exact reason, @AstonJ. It’s a bit manual but you can script it (like I did) and then forget about it.

@ohm One version manager for 99% of all languages and many tools and databases you’ll ever use, is my motivation. Using asdf definitely simplified my setup.

AstonJ

AstonJ

I think the biggest benefit is that you can use it for lots and lots and lots of different languages :nerd_face:

Have a look at their list here:

In my dev env setup guide on my blog (link in first post) we use ASDF for Ruby, Elixir, Erlang and NodeJS :smiley:

For Ruby in a production env, I’ve always used Chruby as it has always worked well:

jc00ke

jc00ke

Rubinius Core Team

I’m completely sold on asdf. With the .tool-versions file I can just asdf install in a project and go.

I also love how simple it is to have multiple versions of PostgreSQL running. I use the technique described here to manage the database per project so I know I’m always exactly matching the production version. This has been super helpful when one project is on Heroku and runs 12 or 13 and another is using AWS Aurora that’s more like 9.6 maybe 10.

Where Next?

Popular Backend topics Top

New
bot
Announcing the Error Handling Project Group | Inside Rust Blog. Want to follow along with Rust development? Curious how you might get in...
New
bot
Add sound to your Python game. This is part 13 in an ongoing series about creating video games in Python 3 using the Pygame module. Prev...
New
New
New
New
CommunityNews
The Magic of Python Context Managers. Recipes for using and creating awesome Python context managers, that will make your code more read...
New
First poster: bot
The Complete AWS Lambda Handbook for Beginners (Part 1). In the first part of our Complete AWS Lambda Handbook for Beginners, we explain...
New
Cellane
I’ve been asked by my supervisors at work to finally give everyone in the team presentation about “that Elixir thing you can’t seem to sh...
New
apoorv-2204
I’m experimenting with Hexagonal / Clean Architecture in Elixir. The classic Behaviour + Impl split works great for mocking and isolating...
New

Other popular topics Top

Exadra37
Please tell us what is your preferred monitor setup for programming(not gaming) and why you have chosen it. Does your monitor have eye p...
New
AstonJ
Just done a fresh install of macOS Big Sur and on installing Erlang I am getting: asdf install erlang 23.1.2 Configure failed. checking ...
New
Maartz
Hi folks, I don’t know if I saw this here but, here’s a new programming language, called Roc Reminds me a bit of Elm and thus Haskell. ...
New
New
New
PragmaticBookshelf
Explore the power of Ash Framework by modeling and building the domain for a real-world web application. Rebecca Le @sevenseacat and ...
New
AstonJ
This is cool! DEEPSEEK-V3 ON M4 MAC: BLAZING FAST INFERENCE ON APPLE SILICON We just witnessed something incredible: the largest open-s...
New
NewsBot
Node.js v22.14.0 has been released. Link: Release 2025-02-11, Version 22.14.0 'Jod' (LTS), @aduh95 · nodejs/node · GitHub
New
PragmaticBookshelf
Fight complexity and reclaim the original spirit of agility by learning to simplify how you develop software. The result: a more humane a...
New
mindriot
Ok, well here are some thoughts and opinions on some of the ergonomic keyboards I have, I guess like mini review of each that I use enoug...
New