Как "активировать" другую версию конкретного драгоценного камня?

Я хочу переключить между рельсами 2.3.10 как "активную" жемчужину для моей ОС, чтобы я мог вызвать ее в командной строке.

Можно ли это сделать? Я не использую rvm. Возможно, пришло время начать.

Я попробовал gem install rails --version=2.3.10, но это только гарантирует, что версия gem установлена, она не помещается в /usr/bin/rails.

(Я уже использую bundler для своих приложений, но до сих пор не нуждался в точном контроле над драгоценными камнями на уровне ОС)

Ответ 1

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

rails --version # => the latest version
rails _2.3.10_ --version # => Rails 2.3.10

Этот шаблон (gem-binary _gem-version_) работает для любого двоичного файла gem.

Надеюсь, что это поможет.

Ответ 2

Использовать RVM

RVM позволяет управлять различными версиями Ruby и Gems. Вы можете установить версию ruby, используя, например

rvm install 1.9.2

Затем вы можете использовать его, используя:

rvm use 1.9.2

Используйте определенные драгоценные камни для каждого проекта с помощью gemset.

Если вы хотите продолжить размещение имен, вы можете настроить gemsets; каталоги, которые будут содержать конкретные драгоценные камни для конкретного проекта.

rvm gemset create myproject

то вы можете использовать их так:

rvm use [email protected]

Автоматизация

Чтобы автоматизировать процесс переключения драгоценных камней, поп файлы .ruby-version и .ruby-gemset в корневой каталог проекта. Загрузите версию Ruby и имя gemset, которое вы хотите использовать внутри них, и RVM выберите правильный gemset, когда вы входите в каталог проекта.

Установка драгоценных камней в ваш gemset

Установите свои драгоценные камни в свой gemset обычным способом, используя bundler, если вы его используете:

bundle install

или просто используя обычный старый:

gem install mygem

Драгоценные камни будут идти в правильном gemset.

Альтернативы RVM

Вы также можете проверить rbenv, который выполняет аналогичную работу.

Ответ 3

Вы можете использовать RVM

Затем вы также можете использовать Bundler, который отлично управляет зависимостями драгоценных камней.

В Gemfile

gem "rails", "2.3.10"

и в вашем приложении

require 'rubygems'
require 'bundler/setup'

и все готово.

Ответ 4

РЕДАКТИРОВАТЬ: Просто увидел ваше упоминание о RVM в сообщении. Определенно, путь.

Вам захочется установить RVM - это потрясающий пакет, который позволит вам управлять разными Rubys и различными наборами драгоценные камни на одной машине. Вы можете легко и быстро переключаться взад и вперед.

Здесь руководство по установке: http://rvm.beginrescueend.com/rvm/install/

Как только вы все встанете, вы можете увидеть все установленные рубины в командной строке с помощью rvm list и переключиться с помощью rvm use ruby-head, например. RVM хранит драгоценные камни на каждом рубине отдельно, что должно помочь с вашим вопросом.