Как я могу обновить версию Ruby на Passenger?

1879
Felix

Как я могу обновить версию Ruby, установленную на моем пассажирском модуле для Apache?

Я на Debian 7, и он работает на Ruby 1.9.1, но я хочу 2.2.0

2
Можете ли вы отредактировать свой вопрос, чтобы указать, какую ОС вы используете? Я полагаю, Linux, но это поможет прояснить, почему у вас установлен Ruby 1.9.1; звучит как Ubuntu, верно? Также я установил Passenger для Ruby, но я не уверен, что установка Passenger изменит саму версию Ruby. JakeGould 9 лет назад 0
Я использую Debian 7, извините, что пропустил это. Felix 9 лет назад 0
Я отредактировал ваш вопрос, чтобы добавить эти детали. Как я уже сказал в своем первом комментарии, вы должны были отредактировать свой вопрос, чтобы указать, какую ОС вы используете. Точно так же, вы можете отредактировать свой вопрос, чтобы объяснить точные команды, которые вы использовали для установки Passenger и Ruby? JakeGould 9 лет назад 0

1 ответ на вопрос

2
slhck

Сначала вы должны установить более новую версию Ruby. Вы можете сделать это, используя rbenv с ruby-build или RVM . Я обнаружил, что первое немного проще и менее навязчиво. Просто установите rbenv и ruby-build в соответствии с документацией, затем:

rbenv install 2.2.0 

После того, как вы установили его, установите глобальный Ruby на 2.2.0 (или любое другое имя Ruby, которое вы установили):

rbenv global 2.2.0 

Вам нужно перезагрузить вашу оболочку, чтобы это вступило в силу. Обратите внимание, что which rubyэто даст вам только путь к так называемой шим, а не к интерпретатору Ruby. Чтобы узнать путь, просто измените строку ниже, 2.2.0указав версию, которую вы установили.

Теперь, в конфигурации пассажирской, изменить в PassengerRuby опции для вашего виртуального хоста, например ,

PassengerRuby /usr/local/rbenv/versions/2.2.0/bin/ruby 

Перезагрузите сервер, и все готово.

это тот же Unter Debian 7? Felix 9 лет назад 0
Это достойный ответ, за который я проголосовал, но прежде чем я действительно понял философию RVM и тому подобного, я по умолчанию выбрал пакеты репозитория, а затем установил исходный код. Так что этот ответ хорош, но предполагает много. Что-то иметь в виду. JakeGould 9 лет назад 0
когда я установил пассажира для apache2, установка ruby ​​происходит автоматически вместе с установкой. нет ли более приятного способа сделать обновление ruby? Felix 9 лет назад 0
@Felix Версии Ruby, поставляемые с дистрибутивами, часто бывают не самыми последними, поэтому вы вряд ли найдете официальный 2.2.0, который вы можете использовать напрямую с `apt-get` (но [есть некоторые PPA] (https: //www.brightbox.com/blog/2015/01/05/ruby-2-2-0-packages-for-ubuntu/)). Обычно рекомендуемый способ получить недавний Ruby - это использовать rbenv или RVM. Компиляция из исходного кода также возможна, но требует немного больше знаний о Linux в целом и немного больше усилий при попытке переключения между несколькими версиями. slhck 9 лет назад 0
@JakeGould я программирую на Rails уже несколько лет. Я читал лучшие практики и множество учебных пособий, и я редко видел, чтобы люди рекомендовали установку на основе исходного кода без менеджеров версий Ruby. Я понимаю, что это простой подход, но он может быть подавляющим. По крайней мере, для меня это было так. slhck 9 лет назад 0
@slhck Я не говорю, что установка из исходного кода - лучший способ обновить Rails. Я просто говорю, что когда я был новичком, я сначала перешел от базовой установки Ruby к репозиторию, к установке исходного кода Ruby для обновления, а затем к настраиваемому PPA Ruby для обновлений и - только когда я полностью понял, почему - я переехал в RVM. RVM или rbenv - определенно путь, но это не значит, что этот оригинальный постер пошел по этому пути. JakeGould 9 лет назад 0
@ Jake, могу я увидеть, спасибо за разъяснения. slhck 9 лет назад 1

Похожие вопросы