Подтвердить что ты не робот

Использовать несколько версий rubygems с rvm?

У меня есть два проекта на моем компьютере: - старое приложение Rails 2.3, которое нуждается в rubygems 1.6 и не будет работать под rubygems 1.8; - Новое приложение, которое нуждается в rubygems 1.8 и не будет работать под rubygems 1.6.

Каждый проект имеет свой собственный rvm gemset, но я не могу понять, как дать им разные версии rubygems:

  • gem update --system [version] приводит к gem -версии, дающей тот же ответ в обоих;
  • rvm gemset [версия] имеет тот же результат.

Как я могу запустить rubygems 1.6.2 в одном проекте и 1.8.11 в другом?


Чтобы уточнить, вот что я хочу сделать:

  • В каталоге A есть .rvmrc с командами, которые выбирают gemset A и rubygems 1.6.2
  • В каталоге B есть .rvmrc с командами, которые выбирают gemset B и rubygems last
  • Одновременно открываются два сеанса терминала: один в каталоге A и другой в каталоге B
  • Введите "gem -version" в каталог A и посмотрите "1.6.2"
  • Введите "gem -version" в каталоге B и посмотрите "1.8.11"
4b9b3361

Ответ 1

Правильный способ - создать именованные (-n) установки рубина, который вы хотите установить, и назовите их в соответствии с нужной вам версией rubygem, например

rvm --install use 1.9.2-nrg186 && rvm rubygems 1.8.6 && gem --list
rvm --install use 1.9.2-nrg1810 && rvm rubygems 1.8.10 && gem --list

Причиной этого является то, что вы можете иметь только одну версию рубигемов в любое время. Это также связано с тем, что каждый рубин определяет зависимость от конкретной версии Rubygems, версия которой известна или должна работать (независимо от того, может ли она работать с другим или нет).

Это ожидаемый способ обработки множества требований Rubygems и устранения потенциальных проблем. См. https://gist.github.com/1273035 для подробностей, подробно описывающих это.