TLDR:如何强制rails应用使用正确的ruby解释器?
您好,
我的Ruby 1.9.2p290安装的部分内容(某些类在某一天丢失了一天),所以我删除了它并试图重新安装环境。
我正在使用Snow Leopard。
Ruby 1.9.2是从源代码安装的。 (我试图通过MacPorts安装它会失败)。我并不热衷于RVM,因为我使用的是Bundler,我似乎回想起了Bundler和RVM如何交互的一些问题,尽管我可以告诉RVM的工作原理。
重新安装几个宝石后,我注意到它们被放置在Ruby 1.8的gem文件夹中。 “这很奇怪,”我想。
启动rails应用程序,我注意到有很多奇怪的异常被抛出语法。将RUBY_VERSION打印到stdout后,我注意到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]
如果我打开活动监视器,Rails应用程序中的ruby进程位于/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby
,我相信这是OSX附带的ruby解释器。
我还没有找到任何关于从OSX中彻底清除Ruby的信息。我很乐意这样做,然后只需从源代码安装ruby。
似乎有两个问题:
我该如何解决这个问题?
谢谢,
汤姆
答案 0 :(得分:1)
我想解决这个问题的最佳方法是使用rvm通过'gemset'来处理你的Ruby和Rails环境。
我有同样的问题,我现在使用gemsets没有问题。
这是我开始工作的文章:
http://stjhimy.com/posts/10-five-quick-steps-to-set-up-rvm-with-rails-2-and-rails3