【问题标题】:Default ruby in server服务器中的默认红宝石
【发布时间】:2012-05-06 22:34:50
【问题描述】:

在我的服务器中,当我运行 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]

我已尝试按照here 的建议设置替代方案,但我刚刚收到一条错误消息。 我也试过default option with 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.

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

【问题讨论】:

    标签: ruby-on-rails-3


    【解决方案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
    

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

    【讨论】:

      【解决方案2】:

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

      echo $PATH
      

      sudo echo $PATH
      

      您会看到不同之处。您可以使用 which 来确定 ruby​​ 的安装位置:

      which ruby
      

      sudo which ruby
      

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

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

      希望这会有所帮助。

      【讨论】:

      • echo $Path 和 sudo echo $PATH 返回相同的路径:/home/administrator/.rvm/gems/ruby-1.9.2-p290/bin:/hom.... 但是哪个 ruby返回 /home/administrator/.rvm/rubies/ruby-1.9.2-p290/bin/ruby 和 sudo which ruby​​ 返回 /usr/bin/ruby 我应该如何更新它?
      • 谢谢,刚刚解决了问题并发布了答案。我不得不重新配置 apache/passenger
      猜你喜欢
      • 2011-02-23
      • 1970-01-01
      • 2014-12-10
      • 2011-04-29
      • 2011-07-16
      • 1970-01-01
      • 2019-08-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多