是否可以在不重新编译的情况下更改Passenger Ruby版本?

我尝试将默认的ruby命令更改为1.9.2,但Passenger一直运行1.8.7

Passenger是用嵌入式Ruby编译的吗?

要设置Ruby版本,请将此行添加到vhost文件中:

 PassengerRuby /path/to/the/ruby/version/you/want/to/use 

每当“捆绑更新”更新乘客gem的版本时,我都会这样做

 sudo su - passenger-install-apache2-module 

在该过程结束时,它会向您发出需要放在顶部或Apache配置中的全部内容。 例如:

 LoadModule passenger_module /usr/local/rvm/gems/ruby-1.9.2-p180@rails31/gems/passenger-3.0.9/ext/apache2/mod_passenger.so PassengerRoot /usr/local/rvm/gems/ruby-1.9.2-p180@rails31/gems/passenger-3.0.9 PassengerRuby /usr/local/rvm/wrappers/ruby-1.9.2-p180@rails31/ruby 

我更新了一些东西,重新启动Apache,一切似乎都很好。

我想在更新Ruby之后需要这个相同的过程。

标记之前设置PassengerRuby。

例:

 PassengerRuby /home/ubuntu/.rvm/wrappers/ruby-2.3.1/ruby 

它对我有用!

在这篇文章中找到更多细节。