开发者

How do I check if RVM for Gem management in Ruby was properly installed?

开发者 https://www.devze.com 2023-02-28 03:35 出处:网络
Is there a command to see if RVM was probably installed?I just went through the setup开发者_StackOverflow process of RVM and would like to test it out.

Is there a command to see if RVM was probably installed? I just went through the setup开发者_StackOverflow process of RVM and would like to test it out.

Also, since I have (or will eventually have) RVM, should I no longer use apt-get to download libraries/gems and always do that through RVM?


rvm -v is a good start and then per the installation instructions (link) typing in $ type rvm | head -1 should return 'rvm is a function'. as to the second part yes you should just stick to installing gems with rvm using gem install (gemname here) and that will save you a good deal of trouble


First, make sure your RVM is properly installed:

https://rvm.beginrescueend.com/rvm/install/

rvm info is a good way of finding out if everything went well.

Regarding gems, I'd say manage them through the RVM-installed Rubies, they have some advantages like gemsets:

https://rvm.beginrescueend.com/gemsets/

Now I now there's always been some controversy between people who prefer native packages over gems (and there are some valid reasons for that, but this is a discussion for another time), but I think RVM tipped the scale a bit here, as do the problems with Ruby packages on Debian:

http://www.lucas-nussbaum.net/blog/?p=617


There are several cases:

  • RVM is not installed
  • RVM is installed but not used (i.e. its bindir is added to PATH but it is not sourced)
  • RVM is installed and used but not loaded (i.e. it is sourced but you are checking that from a script)
  • RVM is installed and used

The only way I've found to test for all 4 cases is checking for environment variables starting with rvm_:

env | egrep -v '^PATH' | egrep '^rvm_path'

We could check for variables like MY_RUBY_HOME or GEM_HOME but these can be overriden manually by user so it does not guarantee we are using RVM.

If you are going to use the above command in script you can reword it like the following and check for exit code:

env | egrep -v '^PATH' | egrep -q '^rvm_path'

Of course if you just need to find out if RVM is there on disk and is accessible you can go with simpler ones like other suggested here.

0

精彩评论

暂无评论...
验证码 换一张
取 消