gpt4 book ai didi

ruby-on-rails - Rails 使用错误版本的 Ruby 启动

转载 作者:太空宇宙 更新时间:2023-11-03 16:35:57 25 4
gpt4 key购买 nike

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

你好,

我的 Ruby 1.9.2p290 安装的某些部分遭到破坏(某天某些类丢失了),所以我将其删除并尝试重新安装环境。

我在 Snow Leopard 上运行。

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 下运行

我该如何解决这个问题?

谢谢,

汤姆

最佳答案

我想解决这个问题的最佳方法是使用 rvm 通过“gemset”来处理您的 Ruby 和 Rails 环境。

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

这是我得到的文章:

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

关于ruby-on-rails - Rails 使用错误版本的 Ruby 启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7704385/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com