繁体   English   中英

为什么不使用最新版本的乘客安装我的护栏?

[英]why isn't my rails install using the latest version of passenger?

我在Windows上使用VirtualBox来运行Ubuntu OS,该系统正在运行turnkey rails软件包,该软件包随附ruby 1.8,rails 2.3.8和passenger 2.2.5。 当我仅使用Vanilla Rails应用程序启动时,它工作正常,但现在出现以下错误:

未初始化的常量PhusionPassenger :: Utils :: PseudoIO :: StringIO

我在google上搜索过,在phusion / google小组上说这是一个古老的错误,无法升级乘客,这与我对gem upgrade passenger一样。 它说它正在安装乘客2.2.15,但似乎没有使用它。 我重新启动了整个VirtualBox,它仍然给我同样的错误,回溯显示passenger-2.2.5。

我意识到这里有多层,出错的地方很多,此外,我几乎是Linux新手。 我对Rails有一些经验。 我将不胜感激。

它很可能是您的Apache配置文件。 乘客安装时,它会在/etc/apache2/http.conf文件中添加一些代码,以便Apache加载乘客扩展。 该代码包含版本号,因此,如果您更改了Apache的版本,则需要修改此文件。 您正在寻找的代码如下所示

LoadModule passenger_module /opt/local/lib/ruby/gems/1.8/gems/passenger-2.2.15/ext/apache2/mod_passenger.so
PassengerRoot /opt/local/lib/ruby/gems/1.8/gems/passenger-2.2.15
PassengerRuby /opt/local/bin/ruby

您必须经过身份验证才能编辑文件,因此打开终端窗口并键入

sudo gedit /etc/apache2/http.conf

并输入密码以编辑文件。 进行更改后,关闭gedit,然后运行

sudo /etc/init.d/apache2 restart

重新启动Apache并再次尝试您的Rails应用程序。

尝试使用

gem list

确保已安装新版本。 乘客宝石旁边应显示列出的多个版本。

您可以使用

gem clean

删除旧版本。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM