7 ms·
Rvm is still around? I switched to rbenv years ago, never looked back.
by moe 13y ago
Rvm is still around?
I switched to rbenv years ago, never looked back.
- eaurouge 13y agoI'm sorry, but why shouldn't RVM still be around? Did it suddenly become obsolete the minute you switched to rbenv?
- bobbyi_settv 13y agoRVM shouldn't still be around because of its user-hostile behavior of modifying the user's dotfiles (.bashrc, etc.) on installation without warning or permission. This breaks other software in confusing ways. For example, I've had cases where after installing it, I could not view man pages for any programs because installing RVM modified broke my $MANPATH. In other cases, things that were failing for other reasons started producing confusing errors due to RVM doing sketchy things like replacing cd with a shell function.
- FooBarWidget 13y ago> RVM shouldn't still be around because of its user-hostile behavior of modifying the user's dotfiles (.bashrc, etc.) on installation without warning or permission. RVM tells the user very clearly that it has modified the user's dotfiles. And how many people do not want to modify the dotfile? Which user thinks, "oooh, modifying dotfiles is so evil, I'll just type in this command every single time I open a terminal"? At the end of the day, RVM just inserts a few lines to the dotfiles. What's the problem with that? Actually, chruby does not modify my dotfile for me, and I thought that modifying the dotfile is optional. I figured I'll just manually source chruby.sh every time I want to use it, just to experience how it's like. And then I ran into issues like this: https://github.com/postmodern/chruby/issues/213 https://github.com/postmodern/chruby/issues/213 Thanks but no thanks. I'd rather have the software modify my dotfile so that it can give me a pleasant user experience. > For example, I've had cases where after installing it, I could not view man pages for any programs because installing RVM modified broke my $MANPATH. In other cases, things that were failing for other reasons started producing confusing errors due to RVM doing sketchy things like replacing cd with a shell function. Never seen these problems before. Have you reported these problems? Have they been fixed in the latest version? If these problems are fixable then why throw the baby out with the bath water? As for replacing cd with a shell function: it's because it's one of the few ways auto-switching can be implemented. They found in a user survey that 80% of the users want auto-switching, so who are they to say "no" to their users? What problems have you experienced because of this? chruby's auto.sh implements the same functionality by installing itself into the shell's DEBUG hook... but is that really any better?
- bobbyi_settv 13y ago> Have they been fixed in the latest version? I don't know. I don't use Ruby or RVM anymore. > Which user thinks, "oooh, modifying dotfiles is so evil, I'll just type in this command every single time I open a terminal"? I did. And it's not "every single time I open a terminal", it's "the once in a blue moon that I need to work on a legacy Rails app". > They found in a user survey that 80% of the users want auto-switching Obviously people who choose to use RVM are going to be people who like the way that RVM operates. > If these problems are fixable then why throw the baby out with the bath water? The bath water is the specific bugs I ran into. As you say, those may fixed and aren't the point. The baby is the general practice of automatically injecting things into dotfiles and messing with shell builtins. We should throw that away because when it fails, it leads to "spooky action at a distance" bugs that are hard to understand and that break totally unrelated things (the user is in a shell session where they aren't doing anything related to Ruby).
- warmwaffles 13y agoI tried switching to rbenv, but I kept getting frustrated with the process.
- FooBarWidget 13y agoAnd this is exactly the problem with all those "simpler" alternatives to RVM. They all claim to be simpler and doing less "unnecessary" stuff. And they are simpler, from a technical point of view. But unless you, the user, is very skilled at Unix and knows exactly how environment variables, shell sessions, bashrc etc works, it's going to be more confusing. RVM is more complicated because it does more, in order to make it easier for users. Notice that most of the people who like rbenv/chruby are exactly the kind of people who are already intimately familiar with the Unix environment. I write C++ for a living and use the command line daily. Last time I used rbenv, I quickly gave up because I had to manually mess with $PATH, bashrc and other stuff that RVM always took care for me. I know how that stuff works, but the whole point of tools is to make my life easier. If I have to do so much stuff manually then why should I use rbenv? Back to RVM for me.
- bobbyi_settv 13y agoThe fact that RVM "does more" means that users need to understand more in order to fix problems that it causes. If you install RVM and other things on your system break due to its tampering with .bashrc, you need to understand what it has done. If I didn't understand $PATHs, etc., I would still be unable to use "man" due to $MANPATH being broken from the last time I installed RVM.
- FooBarWidget 13y agoCorrect, but it also means that the authors take responsibility for fixing those problems. That's the attitude we have for Phusion Passenger: it does a lot of stuff for you so that you don't have to. And if things break because of our fault, we take the responsibility of fixing it so you don't have to and can concentrate on your own business. Have the RVM authors not fixed the problems you experienced?
- sergiotapia 13y agoWhat's the difference, I'm curious. I learned RVM way back when, and haven't had the need to switch to be honest, but would love to learn.
- tvon 13y agoI suspect there is a lot of actively developed software out there that you do not use.