RVM: почему мой проект Ruby on Rails все еще работает с Ruby версии 1.9.3, даже если я использую 1.9.2? - PullRequest
0 голосов
/ 03 апреля 2012

Я использую Ruby on Rails 3.2.2 и RVM (Ruby Version Manager).Используя RVM, я установил 2 версии Ruby: сначала 1.9.3, а затем 1.9.2.После запуска командной строки rvm use --default 1.9.2 я закрыл и снова открыл окно терминала.Наконец, я запускаю следующие командные строки в окне терминала:

$ which ruby
/<MY_USER_PATH>/.rvm/rubies/ruby-1.9.2-p318/bin/ruby

$ ruby -v
ruby 1.9.2p318 (2012-02-14 revision 34678) [x86_64-darwin10.8.0]

Однако, если я добавлю код <%= "Ruby version #{RUBY_VERSION}" %> в файл представления моего проекта Ruby on Rails, я получу Ruby version 1.9.3.

Почему мой проект Ruby on Rails все еще работает с Ruby версии 1.9.3?Как я могу сделать это для запуска в Ruby 1.9.2?

Ответы [ 2 ]

1 голос
/ 03 апреля 2012

Passenger не заботит RVM, вам нужно скомпилировать Passenger с версией Ruby, которую вы хотите использовать, и следовать его инструкциям для соответствующей настройки конфигурации Apache.

Если вы хотите переключить версии Ruby, вынеобходимо переустановить модуль Apache Пассажира через passenger-install-apache-module и следовать инструкциям.

Вероятно, вы увидите, что директива PassengerRuby в вашей конфигурации Apache указывает на конкретную ruby.

Если вам нужны разные версии Ruby с Passenger, пост Phusion в блоге может оказаться полезным. Документы RVM по интеграции пассажиров также стоит прочитать.

0 голосов
/ 03 апреля 2012

Я полагаю, что Apache (Passenger?) Использует вашу глобально установленную версию Ruby, которая выглядит как ruby ​​1.9.2.Сделайте sudo su, а затем попробуйте which ruby и посмотрите, указываете ли вы на RVM-версию ruby.Эта версия Ruby является той, которую использует Apache, вам нужно настроить ruby ​​глобально, чтобы Apache (Passenger) мог ее использовать.

...