我用 Ruby 1.8 编写了一个 Rails 应用程序,各种 gem 都可以正常工作。通过 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 gems。我需要做什么?
$ ruby -v && gem -v
ruby 1.9.3p392 (2013-02-22 revision 39386) [x86_64-linux]
1.8.25
更新
跑步
gem install railties
似乎可以工作,但是 railties 仍然没有出现在 gem 列表中,并且服务器仍然无法启动。为了它,我又试了一次,这一次 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]