2012-02-03 5 views
0

私はFedora14の下でRoRアプリケーションを楽しく使っていました。私はFedora16にアップグレードしました。使用するレールのバージョンを変更します

これは、使用されるレールの変化に、Fedoraの14は2.xと私はRVMがインストールされている今のFedora 15/16ランニング3.xの

上で実行されていると、以前に私がレールを持っていませんでしたさgemがインストールされているので、システム(?)に戻ってしまいます。だから私はレール2.3.8用の宝石をインストールした、それは私が宝石のリストを行うときに表示されますが、アプリはまだ壊れた混乱です。

誰もがここで何か手掛かりを持っています。私は何を確認しなければならないのですか?

は、だから、私のconfig/enviroment.rb

config.gem "rails", :version => "~> 2.3.8" 

に、これを追加し、私は今、このエラーを取得する起動したとき(これはすべて1行にありました)。

Error message: 
    NOTE: Gem.source_index is deprecated, use Specification. 
    It will be removed on or after 2011-11-01. Gem.source_index called from /var/work_sites/mysite/vendor/rails/railties/lib/rails/gem_dependency.rb:106. 

    NOTE: Gem::SourceIndex#search is deprecated with no replacement. 
    It will be removed on or after 2011-11-01. Gem::SourceIndex#search called from /var/work_sites/mysite/vendor/rails/railties/lib/rails/gem_dependency.rb:106. 
    Missing these required gems: rails ~> 2.3.8 You're running: ruby 1.8.7.357 at /usr/bin/ruby rubygems 1.8.11 at /usr/lib/ruby/gems/1.8, /home/nick/.gem/ruby/1.8 Run `rake gems:install` to install the missing gems. 

しかし $宝石リスト

*** LOCAL GEMS *** 

... 
rails (2.3.8) 
.... 

ので、私はとにかく試してください。

$ rake gems:install 
rake/rdoctask is deprecated. Use rdoc/task instead (in RDoc 2.4.2+) 
Missing these required gems: 
    rails ~> 2.3.8 

You're running: 
    ruby 1.8.7.352 at /home/nick/.rvm/rubies/ruby-1.8.7-p352/bin/ruby 
    rubygems 1.8.10 at /home/nick/.rvm/gems/ruby-1.8.7-p352, /home/nick/.rvm/gems/[email protected] 

Run `rake gems:install` to install the missing gems. 

ARGHH!

$ gem env 
RubyGems Environment: 
    - RUBYGEMS VERSION: 1.8.10 
    - RUBY VERSION: 1.8.7 (2011-06-30 patchlevel 352) [x86_64-linux] 
    - INSTALLATION DIRECTORY: /home/nick/.rvm/gems/ruby-1.8.7-p352 
    - RUBY EXECUTABLE: /home/nick/.rvm/rubies/ruby-1.8.7-p352/bin/ruby 
    - EXECUTABLE DIRECTORY: /home/nick/.rvm/gems/ruby-1.8.7-p352/bin 
    - RUBYGEMS PLATFORMS: 
    - ruby 
    - x86_64-linux 
    - GEM PATHS: 
    - /home/nick/.rvm/gems/ruby-1.8.7-p352 
    - /home/nick/.rvm/gems/[email protected] 
    - GEM CONFIGURATION: 
    - :update_sources => true 
    - :verbose => true 
    - :benchmark => false 
    - :backtrace => false 
    - :bulk_threshold => 1000 
    - REMOTE SOURCES: 
    - http://rubygems.org/ 
+0

Assummingリストルビーは2.3.8があなたを持って示していあなたのプロジェクトにそのバージョンを使用するようrvmに伝えましたか?また、あなたが見ているエラーに関してより具体的なものにすることができれば助けになります。 –

+0

レールはFeduraにプリインストールされていますか?この混乱については、システムルビーをアンインストールする必要があり、システム全体ではなくrvmユーザをインストールする必要があります。そして最初にruby18パッケージをインストールしてからruby19をインストールします。この後、この混乱を取り除くべきです。あなたが表示されているエラーを投稿してください。 – ducktyped

+0

リストのルビーは2.3.8ですが、2.3.8を使用するように指定していません。 – Wizzard

答えて

0

アプリケーションがある場合は、「合理的なサイズ」(走行距離は変更になる場合があります)、この春外となりますレールに3レール4をアップグレードするために、この機会を利用してアップグレードを行うには、今よりも良い時間を見つけていないだろう。最初にv3.0.11を行い、うまくいけば3.1.xに行く予定です。 これに直面したら、もう一度やり直したくないです。この時点で、あなたはまた、あなたが遭遇するどんな問題は通常など、出会い、固定他者によって、ネット上の検索可能、SOスルーされていることを

を見つけるこれらのに役立ちます。

http://railscasts.com/episodes/225-upgrading-to-rails-3-part-1

http://ryanbigg.com/2010/11/the-rails-3-upgrade/

http://www.railsupgradehandbook.com/は($ 12)は

RubyとRailsの非常に急速に変化すると多少現在維持しているジュスタ「素敵なツー持っている」、本当に重要ではありません。現時点では、宝石類はレールと一直線に並んでいます3

ルビー1.9.3をインストールする必要があります。コードに複雑なルビがない限り、ほとんど問題はありません。 Ruby 2.0は間もなくリリースされる予定です。

他の人が助言するように、rvmはRubyのバージョン管理の鍵です。インストールしたら、簡単にrvm use 1.9.2というコマンドでルビのバージョンを切り替えることができます。プロジェクトのルートに.rvrmcファイルを作成して、そのプロジェクトのルビーバージョンを設定することができます。レール2またはあなたのGemfileとのバンドルで - - あなたは宝石をインストールする以外に行うために必要なもののITINご使用の環境ファイル(複数可)入れられると

レールを3個の

+0

残念ながら、それはオプションではありません。しかし、ありがとう。 – Wizzard

+0

問題ありません。あなたはこれをやっているだろうし、多分このポストを振り返ってみてください:) –

関連する問題