Curious how peeps are managing Rails project environments today?
I'm an old timer Rails developer that got sidetracked into management and business stuff and finally coming back to code (and happy again) 🙂
I'm curious what "best practices" have changed since i last was deep into Rails development, particularly managing multiple project environments.
I'm used to RVM but seems it's not really that maintained anymore and people moved away from it. What I appreciated most was its clean isolation of Ruby versions and gemsets every project had its own Ruby version and its own gems, no bundle exec, no weird version conflicts, no surprises.
I'm trying out `mise`, which handles Ruby versions fine via `.tool-versions`, but I'm now running into all the problems RVM used to solve:
- Gem version conflicts across projects.
- `bin/dev` running with the wrong Ruby unless I wrap it with `mise exec`
- Binstubs getting ignored because `mise`'s paths override `./bin`
- `direnv` can't reliably fix `PATH` because `mise` mutates it *after* `.envrc`
To name a few… everything feels like a hack or a workaround. And I still don't have the simplicity I had with RVM with isolated gems, binstubs that just work, and `ruby`, `rails`, `rspec` all resolving cleanly.
So here's the ask:
How are you managing your Ruby environments today if you're not using RVM?
What is the most common practice in the community nowadays? Using mise, asdf, chruby, Docker, or something else entirely?
How do you isolate gems per project reliably?
Is there a modern, clean setup that gives you per-project isolation without forcing bundle exec or mise exec wrappers everywhere?
Would appreciate any setups, scripts, or principles that have worked for you. 🙏
Posted Jun 3, 2025, 7:40 AM UTC