1

次のコマンドでRVMを使用してRails 3.1.3に更新しようとしました:

rvm インストール ruby​​-1.9.3-p0

rvm --default は ruby​​-1.9.3-p0 を使用

現在のバージョンまたはルビーを照会すると:

ルビー -v

正しいバージョンを取得します: ruby​​ 1.9.3p0 (2011-10-30 リビジョン 33570) [x86_64-darwin10.8.0]

次に、gem を更新します。

gem update --system

これにより、バージョン1.8.24が得られます

次に、gemset を作成し、デフォルトとして設定します。

rvm ruby​​-1.9.3-p0@rails313 --create --default

最後に Rails gem をインストールします。

gem インストールレール

Rails のバージョンを照会すると、次のようになります。

レール -v

Rails 3.0.11 を取得しました ... 古いバージョンの Rails

Railsサーバーを起動しようとすると

レールS

大きなエラーが発生します:

.rvm/gems/ruby-1.9.3-p0@rails313/gems/activesupport-3.0.11/lib/active_support dependencies.rb:239:`require': dlopen(/Users/lss_dev/.rvm/gems/ruby -1.9.3-p0@rails313/gems/ruby-debug-base19-0.11.25/lib/ruby_debug.bundle, 9): シンボルが見つかりません: _ruby_current_thread (LoadError)

依存関係について多くの不満があります。

私の gemfile.lock には次のブロックが含まれています。

レール (3.0.11)

  actionmailer (= 3.0.11)

  actionpack (= 3.0.11)

  activerecord (= 3.0.11)

  activeresource (= 3.0.11)

  activesupport (= 3.0.11)

  bundler (~> 1.0)

  railties (= 3.0.11)

これは何か関係がありますか、それとも gemfile.lock ファイルに触れる必要がありますか??

私はrvmバージョン1.10.0を使用しています。

4

2 に答える 2

6

私自身の(拡張された)質問に答えるために...

gemfile.lockファイルを破棄すると、実行することができました

バンドルインストール

Rails gemが正しいバージョン(3.1.3)に設定されていることを確認しました。これは機能しました。そのとき私が遭遇した問題は、Railsサーバーを起動したときに次のブラウザエラーが発生したことでした

ActionController :: Base:Classの未定義のメソッド `consider_all_requests_local'

当初、これはRails3.1でのルーティングの変更によるものだと思っていました。*application_controller.rbファイルで判明したように、404エラーを処理していて、次のブロックがありました。

unless ActionController::Base.consider_all_requests_local
   rescue_from Exception, :with => :render_404
end

ActionController :: Base.consider_all_requests_local

現在は非推奨であり、次のように置き換えられています。

Rails.application.config.consider_all_requests_local

トリックをしました。

あなたの助けに感謝します、そして私はこれが将来誰かを助けることを願っています

于 2012-05-04T10:23:51.417 に答える
0

rvm / ruby​​ のバージョンを入れ替えてからインストールする必要があるかもしれません。これは役に立つかもしれません: https://rvm.io/gemsets/basics/

于 2012-05-03T01:27:48.240 に答える