У меня установлены две версии Ruby (1.8.7 и 1.9), как указать, какая из них для рельсов? или это имеет значение - PullRequest
3 голосов
/ 16 сентября 2009

У меня установлена ​​Ruby 1.8.7 и 1.9. Я запускаю разные, определяя ruby ​​или ruby1.9 при запуске команд. например

ruby --version

или

ruby1.9 --version

однако, когда я хочу создать новое приложение rails, доступна команда rails, например:

rails my_app_name

Как указать, когда я вызываю команду 'rails' для создания нового приложения rails, или это имеет значение? Я имею в виду, что если я создам его с одной версией, то это будет тот же код другой версии или пользовательский скрипт-генератор использует другой код для разных версий Ruby.

Спасибо

Tam

Ответы [ 4 ]

3 голосов
/ 16 сентября 2009

Самый простой способ - использовать опцию -S . Например, и в соответствии с вашим случаем, чтобы использовать Ruby 1.9, вы можете сделать:

# Create new Rails project with Ruby 1.9
ruby1.9 -S rails new_app

# Run the project with Ruby 1.9
ruby1.9 script/server

#install new gems for Ruby 1.9
ruby1.9 -S gem install some_gem

# Use Rake with Ruby 1.9
ruby1.9 -S rake something

А так как ваш интерпретатор Ruby по умолчанию - 1.8.7, то просто оставьте его обычным, нет необходимости в опции -S.

2 голосов
/ 16 сентября 2009

Я использую passenger / mod_rails для локальной разработки (на Mac OSX Snow Leopard). В конфигурационном файле apache (или nginx), в котором находятся настройки пассажира, вы устанавливаете переменную среды PassengerRuby. Вы можете указать это на любую установку ruby, которую вы хотите использовать (не забудьте потом перезапустить apache).

В настоящее время я использую RVM для управления установками ruby. В файле apache conf моего пользователя у меня установлен Mac OSX Snow Leopard 1.8.7 по умолчанию для пассажира, а также для установки 1.8.6 через RVM. Тот, который я хочу использовать, оставлен без комментариев. Вот как это выглядит на данный момент:

# Default passenger
LoadModule passenger_module /Library/Ruby/Gems/1.8/gems/passenger-2.2.5/ext/apache2/mod_passenger.so
PassengerRoot /Library/Ruby/Gems/1.8/gems/passenger-2.2.5
PassengerRuby /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby

# Use RVM 1.8.6 ruby
# LoadModule passenger_module /Users/dylanfm/.rvm/gems/ruby/1.8.6/gems/passenger-2.2.5/ext/apache2/mod_passenger.so
# PassengerRoot /Users/dylanfm/.rvm/gems/ruby/1.8.6/gems/passenger-2.2.5
# PassengerRuby /Users/dylanfm/.rvm/bin/ruby-1.8.6-p383
0 голосов
/ 17 сентября 2009

Для операционных систем Unix. Вы также можете связать исполняемые файлы для ruby1.8 / 1.9 с ruby, gem1.8 / 1.9 с gem и т. Д. Что-то вроде:

ln -sf /usr/bin/ruby1.8 /usr/bin/ruby
ln -sf /usr/bin/gem1.8 /usr/bin/gem
...

Вы можете найти пути к вашему ruby ​​/ gem / rake / etc. исполняемые файлы с помощью какой команды. Вы можете использовать псевдонимы этих команд как use18, например, use19.

0 голосов
/ 16 сентября 2009

Неважно, структура рельсов такая же.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...