Как мне «активировать» другую версию конкретного драгоценного камня? - PullRequest
78 голосов
/ 07 декабря 2010

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

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

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

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

Ответы [ 4 ]

145 голосов
/ 07 декабря 2010

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

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

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

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

10 голосов
/ 20 марта 2012

Использование RVM

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

rvm install 1.9.2

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

rvm use 1.9.2

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

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

rvm gemset create myproject

, тогда вы можете использовать их следующим образом:

rvm use 1.9.2@myproject

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

Для автоматизации процесса переключенияФайлы gem, pop .ruby-version и .ruby-gemset находятся в корневом каталоге вашего проекта.Вставьте версию Ruby и имя набора гемов, который вы хотите использовать внутри них, и RVM выберет правильный набор гем, когда вы перейдете в каталог вашего проекта.

Установка гемов в ваш набор гемов

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

bundle install

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

gem install mygem

камни будут помещаться в правильный набор камней.

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

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

7 голосов
/ 07 декабря 2010

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

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

В вашем Gemfile

gem "rails", "2.3.10"

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

require 'rubygems'
require 'bundler/setup'

и все готово.

3 голосов
/ 07 декабря 2010

РЕДАКТИРОВАТЬ: Только что видел ваше упоминание RVM в посте.Определенный путь.

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

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

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

...