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


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

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

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

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

4 73

4 ответа:

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

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

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

надеюсь, что это помогает.

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

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

rvm install 1.9.2

затем вы можете использовать его с помощью:

rvm use 1.9.2

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

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

rvm gemset create myproject

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

rvm use 1.9.2@myproject

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

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

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

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

bundle install

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

gem install mygem

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

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

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

можно использовать РВМ

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

в своем Gemfile

gem "rails", "2.3.10"

и приложения

require 'rubygems'
require 'bundler/setup'

и вы сделали.

EDIT: только что видел ваше упоминание RVM в сообщении. Определенно, так и должно быть.

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

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

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