Как проверить, правильно ли установлен RVM для управления Gem в Ruby? - PullRequest
4 голосов
/ 21 апреля 2011

Есть ли команда, чтобы узнать, был ли установлен RVM?Я только что прошел процесс установки RVM и хотел бы проверить его.

Кроме того, поскольку у меня есть (или в конечном итоге будет) RVM, я не должен больше использовать apt-get для загрузки библиотек / гемов ивсегда делать это через RVM?

Ответы [ 3 ]

8 голосов
/ 21 апреля 2011

rvm -v - хорошее начало, а затем в соответствии с инструкциями по установке ( ссылка ), набрав $ type rvm | head -1, следует вернуть 'rvm is function'.Что касается второй части, да, вы должны просто установить gems с помощью rvm, используя gem install (здесь gemname), и это избавит вас от многих проблем

2 голосов
/ 22 апреля 2011

Во-первых, убедитесь, что ваш RVM правильно установлен:

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

rvm info - хороший способ выяснить, все ли прошло хорошо.

Что касается драгоценных камней, я бы сказал, что управляйте ими через Ruby с установленным RVM, у них есть некоторые преимущества, такие как gemsets:

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

Теперь я всегда сталкивался с противоречиями между людьми, которые предпочитают нативные пакеты, а не гемами (и для этого есть несколько веских причин, но это обсуждение в другой раз), но я думаю, что RVM немного изменил масштаб, как и проблемы с пакетами Ruby в Debian:

http://www.lucas -nussbaum.net / блог /? P = 617

1 голос
/ 10 июля 2013

Есть несколько случаев:

  • RVM не установлен
  • RVM установлен, но не используется (то есть его биндир добавлен в PATH, но не получен)
  • RVM установлен и используется, но не загружен (т.е. он получен, но вы проверяете это из скрипта)
  • RVM установлен и используется

Единственный способ проверки всех четырех случаев, который я нашел, - это проверка переменных среды, начинающихся с rvm_:

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

Мы можем проверить такие переменные, как MY_RUBY_HOME или GEM_HOME, но они могут быть переопределены пользователем вручную, поэтому это не гарантирует, что мы используем RVM.

Если вы собираетесь использовать приведенную выше команду в сценарии, вы можете перефразировать ее следующим образом и проверить код выхода:

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

Конечно, если вам просто нужно выяснить, есть ли на диске RVM и доступен ли он, вы можете выбрать более простые, такие как предложенные здесь.

...