0

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 gem を探していると思います。私は何をする必要がありますか?

$ 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]
4

1 に答える 1

1

これは、Ruby 1.8 との競合が原因でした。それを(普通の古いapt-getで)削除すると、問題が修正されました。

于 2013-02-23T17:13:33.390 に答える