I have completely borked my Linux machine while trying to completely all traces of RVM. Some init script still looks into ~/.rvm directory and I can't login due to that. Timeshift to the rescue.
Can you install a virtual machine on your Linux machine and do Ruby/Rails work there? If Docker isn't an option, then how about VirtualBox? You've highlighted why I insist on using a virtual environment as my dev environment. Not being able to reset everything willy-nilly is a deal breaker.
You are trading one set of problems for another set of problems with Docker/VirtualBox.
I still don't believe that Docker is the right solution in the end. I always end up juggling different dockerfiles for local, ci and production setup. Annoying as hell.
I had no idea this existed. I’m actually happy with asdf, but given that this is coming from the guy who made the excellent Heroku CLI, I’m reconsidering my choice. Thanks!
If a project I'm working on isn't Dockerized, I Dockerize it. I like being able to reset my development environment willy-nilly. This isn't possible if I'm relying on my host environment, and that's a deal breaker for me.
Comments
Not sure why I was stuck with RVM for so long. Mise cover all the features RVM gave me and gives way-way more on top.
Another good reason to not go back to RVM.
When I first attempted to use mise I went with shims immediately. And only now noticed that it's not recommended approach.
I still don't believe that Docker is the right solution in the end. I always end up juggling different dockerfiles for local, ci and production setup. Annoying as hell.
Maybe nix is better?
Mise seemed similar, but without annoyances.
Basically the same thing, just slightly better.
These days I moved off Apple hardware and running Linux, so it might be a good idea to give devcontainers a try.
But I work on many libraries, gems and golang projects - docker doesn't make sense in these cases.
Managing all this language through mise - sounds like a good idea. There is also a way to have per-project tools and tasks.