
[Debian сжатие]
Найти ответ на этот вопрос оказалось на удивление сложно.
У меня был установлен ruby v1.9.1 (/usr/bin/ruby1.9.1), но после того, как я установил rubygems, он также установил ruby1.8 (/usr/bin/ruby1.8), и все команды, которые я запускаю в gem (gem install ..., rails ...), используют ruby v1.8.
~/proj/rails/demo# bundle show sqlite3
/var/lib/gems/1.8/gems/sqlite3-1.3.4
Как заставить rubygems и rails использовать установленную мной версию 1.9.1 вместо версии 1.8?
(примечание: я установил rvm с помощью «gem install rvm», но после этого я не могу запустить rvm, в чем дело?)
решение1
Вы обновили /etc/alternatives? В Ubuntu вы бы запустили "sudo update-alternatives" и сообщили системе, на что на самом деле указывает символическая ссылка для "/usr/bin/ruby", "/usr/bin/gem" и т. д. Я не уверен, есть ли "update-alternatives" в Debian, но должен быть похожий метод указания на нужную вам версию.
Хм. Это немного устарело, но, вероятно, применимо:
http://kangaroobox.blogspot.com/2009/12/переключение-ruby-платформ-на-debian.html
решение2
В Debian rubygems
пакет — это просто метапакет, который зависит от rubygems1.8
, точно так же ruby
зависит только от ruby1.8
. Таким образом, если вам нужен rubygems для 1.9, вам нужно установить rubygems1.9
. gem
Команда (как и все другие потенциальные исполняемые файлы, такие как ruby
, irb
или ri
) — это просто символическая ссылка, указывающая на предпочтительную версию, например gem1.8
. Вы можете использовать их напрямую или использовать update-alternatives
для установки предпочитаемой версии.
Что касается RVM, то, действительно, есть gem, но он содержит только несколько помощников для RVM. RVM не требует предустановленного ruby. Фактически, часто он используется как единственный способ установки ruby в системах.
Для фактической установки RVM запустите:
bash < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer )
как описано наРуководство по установке RVM. Пожалуйста, обратитесь к нему для получения дополнительной информации о различных вариантах установки.
решение3
Вам необходимо использовать RVM (Ruby Version Manager), который может легко переключать версии Ruby.
Чтобы перейти на версию Ruby 1.9.1, попробуйте
rvn use 1.9.1
чтобы сделать эту версию версией по умолчанию, используйте
rvn use 1.9.1 --default
Если вам необходимо изучить основы rvm, пожалуйста, следуйте этому руководству, в котором подробно объясняется, как использовать RVM.