我在Ruby 1.8中编写了一个Rails应用程序,其中包含各种宝石,所有这些都可以正常运行。通过RVM,我现在运行1.9.3(是的,我确实需要1.9.x),但开发服务器将无法启动,而是抛出以下错误:
$ rails s
/usr/lib/ruby/vendor_ruby/1.8/rubygems/dependency.rb:247:in `to_specs': Could not find railties (>= 0) amongst [bigdecimal-1.1.0, bundler-1.2.4, io-console-0.3, json-1.5.5, minitest-2.5.1, rake-10.0.3, rake-0.9.2.2, rdoc-3.9.5, rubygems-bundler-1.1.0, rvm-1.11.3.6] (Gem::LoadError)
from /usr/lib/ruby/vendor_ruby/1.8/rubygems/dependency.rb:256:in `to_spec'
from /usr/lib/ruby/vendor_ruby/1.8/rubygems.rb:1208:in `gem'
from /usr/local/bin/rails:18
所以,我认为该应用程序至少仍在寻找1.8颗宝石。我需要做什么?
$ ruby -v && gem -v
ruby 1.9.3p392 (2013-02-22 revision 39386) [x86_64-linux]
1.8.25
更新
运行
gem install railties
似乎工作,但铁路仍然没有显示在宝石列表中,服务器仍然无法启动。对于它的地狱,我再次尝试了,这次gem(及其依赖项)似乎确实已经安装了。
但是,我仍然需要运行bundle install,它(在我的Gemfile中指定了正确的Ruby版本后)给了我以下内容..
$ sudo bundle install
Your Ruby version is 1.8.7, but your Gemfile specified 1.9.3
$ ruby -v
ruby 1.9.3p392 (2013-02-22 revision 39386) [x86_64-linux]
答案 0 :(得分:1)
这是由与Ruby 1.8的冲突引起的。删除它(通过普通的旧apt-get)解决了这个问题。