2011-04-03 8 views
9

私は...レール3.0.5を反映するためにGemfile(ともGemfile.lock)ですべてのコンテンツを期待して、私が作成したRailsの3.0.0プロジェクトのためにbundle updateを使用してなぜ "バンドルの更新"はRails 3.0.5を使用するようにGemfileを更新しないのですか?

をしようとしたが、それは3.0.0であることに保ちます。.. 。私がbundle update railsを実行しても、それはまだ3.0.0のままです。

私は新しいRails 3.0.0プロジェクトを作りました。それから、バンドルアップデートを実行します。レール3.0.0 "、なぜですか?そして、bundle updateを3.0.5にアップデートする方法は? (手でGemfileを変更するための明らかな方法以外の)

(3.0.5の代わりにsqlite3を使用しているようですので、私も、Gemfilesqlite3sqlite3-rubyを変えてみました。そして、railssqlite3がに記載されている唯一の2つの宝石ですGemfile

答えて

12

あなたはすでに答えを持っていた:手で宝石のバージョンを変更してbundle update railsを実行します。

私はあなたのGemfileにgem 'rails', '3.0.0'を持っている疑いがあります。正確なバージョンが指定されている場合は、bundle update railsを実行してもバージョンは変更されません。

はここにあなたのGemfileに宝石のバージョンを指定するさまざまな方法についていくつかの情報です。

http://gembundler.com/rationale.html

+0

あなたの答えは、Gemfileの '' 3.0.0''は正確なバージョンを使用するということです。もし 'bundle update'が使われると常に最新のものに更新したいならば、'> 3.0.0'を使ってください。これが推奨されているかどうかわかりませんが、最新のレールを使ってプロジェクトを続けてください。 –

13

うん、あなたはおそらくこれが唯一のレールのマイナーバージョン(3.0.5 & 3.0.6を...)をアップグレードします

gem 'rails', '~>3.0.0' 

gem 'rails', '3.0.0' 

変更、それを持っています。それともあなたは、レール3.1ではなく4.0

1

にアップグレードしたい場合ので、私は追加しているGoogleで「バンドラ文句を言わないアップデート」を検索するときにこれがトップの結果の一つである

gem 'rails', '~>3.0' 

にそれを変更することができます別の答えとして続く。私は私のプロジェクトの一つでこの問題に直面していました。

BUNDLE_FROZEN: "1" 

これは効果がないことがbundle update <gemname>を引き起こしていた。

は私のプロジェクトの一つで、私は次の行を持っていた .bundle/configファイルを持っていました。私は上記の行を削除し、再び更新を開始しました。

+0

あなたは正しいです、それは可能性の一つかもしれません。 – Aamir

関連する問題