【问题标题】:Rails 3 continues to use ruby 1.8.7 even though "ruby -v" states 1.9.2Rails 3 继续使用 ruby​​ 1.8.7,即使“ruby -v”状态为 1.9.2
【发布时间】:2011-10-05 13:17:31
【问题描述】:

我已经完成了我的应用程序的开发,目前正在部署它。我的一个控制器收到了一个奇怪的错误:

语法错误,意外 ':',期待 ')'

当我在我的开发环境中运行它时,它运行良好。我可以看到 dev/prod 之间的唯一区别是 dev 使用的是 Ruby 1.9.2,而 Prod 使用的是 1.8.7。在我的天真中,我想“哦,我将升级到 1.9.2” - 我一直在愚弄。我使用了 RVM,更改了路径,启动了新的终端会话,现在可以看到 ruby​​ 是 1.9.2:

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

which ruby
/usr/local/rvm/rubies/ruby-1.9.2-p290/bin/ruby

但是,当我运行“rails s”时,我的计算机继续使用 1.8.7:

[2011-10-05 05:58:40] INFO  WEBrick 1.3.1 
[2011-10-05 05:58:40] INFO  ruby 1.8.7 (2010-08-16) [x86_64-linux] 
[2011-10-05 05:58:45] INFO  WEBrick::HTTPServer#start: pid=32574 port=3000

什么什么!!!?我希望有一个人可以帮助我。我距离搬到乡下大约 15 分钟路程,成为一名农民!

提前致谢。

【问题讨论】:

  • 所以你用rvm --default use 1.9.2 命令设置默认红宝石?
  • @Bohdan:是的,rvm list default Default Ruby (for new shell) ruby​​-1.9.2-p290 [ x86_64 ]
  • sudo ruby -v 的输出是什么?
  • 哇! 'sudo ruby​​ -v' 给了我 1.8.7。然而,当我执行 'sudo su', 'ruby -v' 时,我得到 1.9.2。知道我将如何解决这个问题吗?谢谢。
  • 我尝试 ;) 不过,在升级到 1.9.2 后,这给我带来了一些问题。为什么?你认为这可能与我的错误有关?

标签: ruby ruby-on-rails-3


【解决方案1】:

如果您在安装时使用了 sudo,这可能是原因

sudo passenger-install-apache2-module

使用系统红宝石。试试

passenger-install-apache2-module

应该生成正确的配置文件。

【讨论】:

    【解决方案2】:

    你试过rvm reload 吗?有时当我遇到奇怪的错误时,重新加载 rvm 会修复它。

    【讨论】:

    • 是的,刚刚试过。不幸的是没有运气。不过,感谢您的建议。
    猜你喜欢
    • 2012-01-23
    • 1970-01-01
    • 2013-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-03
    • 1970-01-01
    • 2011-06-13
    相关资源
    最近更新 更多