【问题标题】:Rails Starting Up With Wrong Version of RubyRails 使用错误版本的 Ruby 启动
【发布时间】:2011-10-09 15:01:32
【问题描述】:

TLDR:如何强制 Rails 应用使用正确的 ruby​​ 解释器?

你好,

我的 Ruby 1.9.2p290 安装过程中出现了一些问题(某些类刚刚丢失了一天),因此我将其删除并尝试重新安装环境。

我在雪豹上跑步。

Ruby 1.9.2 是从源代码安装的。 (我尝试通过 MacPorts 安装,但它会失败)。我不喜欢 RVM,因为我使用了 bundler,而且我似乎记得 bundler 和 RVM 如何交互的一些问题,尽管据我所知 RVM 可以工作。

在重新安装了几个 gem 之后,我注意到它们被放置在 Ruby 1.8 的 gem 文件夹中。 “这很奇怪,”我想。

启动 rails 应用程序时,我注意到很多关于语法的奇怪异常被抛出。将 RUBY_VERSION 打印到标准输出后,我注意到 Rails 应用程序正在运行 1.8.7。

which ruby 只显示一个 ruby​​ 解释器:

$ which ruby
/usr/bin/ruby
$ /usr/bin/ruby -v
ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-darwin10.8.0]

如果我打开 Activity Monitor,来自 Rails 应用程序的 ruby​​ 进程位于 /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby,我相信这是 OSX 附带的 ruby​​ 解释器。

我还没有找到任何关于从 OSX 中完全清除 Ruby 的信息。我很乐意这样做,然后只需从源代码安装 ruby​​。

好像有两个问题:

  • Rails 正在运行一个我不知道它是如何调用的 ruby​​ 解释器,当我需要它来运行从源代码安装的 1.9.2 解释器时
  • gems 安装在 1.8 文件夹中,我怀疑是因为 gem 认为它在 1.8 下运行

我该如何解决这个问题?

谢谢,

汤姆

【问题讨论】:

    标签: ruby-on-rails ruby macos ruby-1.9.2


    【解决方案1】:

    我想解决这个问题的最好方法是使用 rvm 通过 'gemset's 来处理你的 Ruby 和 Rails 环境。

    我有同样的问题,我现在使用 gemsets 没有问题。

    这是我得到工作的文章:

    http://stjhimy.com/posts/10-five-quick-steps-to-set-up-rvm-with-rails-2-and-rails3

    【讨论】:

      猜你喜欢
      • 2021-12-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多