Назад | Перейти на главную страницу

Как указать рельсам использовать нестандартный рубин?

Мне нужны две разные версии ruby ​​на сервере. Упакованный рубин для работы упакованной марионетки и скомпилированный рубин для работы веб-приложения rails. Итак, в основном я хочу, чтобы рубин по умолчанию был рубином из пакета, а для рельсов использовался скомпилированный рубин (в /usr/local/bin/ и /usr/local/lib/ )

Я нашел ссылки на установку переменных среды RUBYPATH и RUBYLIB, но я не понимаю, где их устанавливать. В .bashrc, .profile, где-нибудь в конфиге apache?

Один из приемов состоит в том, чтобы изменить PATH, чтобы сначала включить тот, который вы хотите. Хотя, скорее всего, это взлом.

Если вы используете Rails 2.x (как я предполагаю), вы можете специально запускать что-то, указав путь туда, например:

/usr/local/bin/ruby script/server

(например, для режима разработки.)

Если вы используете что-то вроде Phusion Passenger, который я лично рекомендую, я думаю, что его можно настроить глобально для конфигурации веб-сервера. Я не уверен, что вы можете сделать это для каждого виртуального хоста с помощью Passenger, но похоже, что вам это не нужно.

Я знаю, что это старый поток, но если у кого-то еще есть эта проблема, просто установите RVM (http://rvm.beginrescueend.com/Вы можете буквально переключать версии ruby, которые использует система, вот так (в командной строке):

rvm 1.9.2
ruby -v  (will display ruby 1.9.2)

rvm 1.8.7 
ruby -v (will display ruby 1.8.7)

Просто, без проблем!

B