0

在我的服务器中,当我运行时,ruby -v我得到:}

ruby 1.9.2p290 (2011-07-09 revision 32553) [i686-linux]

但是当我跑步时,sudo ruby -v我得到

ruby 1.8.7 (2010-01-10 patchlevel 249) [i486-linux]

我已尝试按照此处的建议设置替代方案,但我收到一条错误消息。我也尝试过使用 rvm 的默认选项,但也没有用

由于我试图在服务器中执行此操作,因此我没有 root 权限 (su),因此有些事情我无法尝试。

我可以做些什么来使用 ruby​​ 1.9.2?我收到消息

Could not find paperclip-3.0.3 in any of the sources (Bundler::GemNotFound)

Exception class:
PhusionPassenger::UnknownError
and I am sure it is caused by the ruby version.

也许我只需要按照这里的建议设置Passenger的红宝石路径,但我似乎找不到应该设置PassengerRuby的文件vhost

4

2 回答 2

1

经过 8 小时的意图失败,这就是解决它的方法:

我所要做的就是再次配置 Apache/Passenger。

rvm use 1.9.2
gem install passenger --pre
passenger-install-apache2-module

按照说明安装apache。然后按照我之前的说明配置文件 apache2.conf。在这里,我粘贴了指令中给出的代码行(并找到了引用 ruby​​1.8 的其他行,所以现在引用 ruby​​ 1.9.2)

然后重新启动apache

 sudo apache2ctl restart

感谢这篇文章,但我不需要按照站点中的建议编辑 vhost 文件(我无法找到),重新安装,添加新行并重新启动 apache 解决了问题

于 2012-05-07T02:41:37.800 回答
0

您所说的意味着您在服务器上同时拥有 Ruby 1.8.7 和 1.9.2。我敢打赌,如果您比较 PATH 变量

echo $PATH

对比

sudo echo $PATH

你会看到区别。您可以使用 which 来确定 ruby​​ 的安装位置:

which ruby

sudo which ruby

然后您应该能够更新您的 PATH,或显式调用正确的 Ruby 版本。

鉴于可用的信息,这就是我能提供的所有帮助,但如果你想发布这些信息,我可能会提供更多帮助。如果您可以 sudo,但没有 root 权限,谁可以,他们可以编辑服务器吗?您正在运行共享主机吗?

希望这可以帮助。

于 2012-05-07T00:28:21.857 回答