2012-08-31 16 views
6

Githubから取り出したアプリを実行しようとしています。Gemfile.lockファイルからどのように宝石をインストールしますか?

Gemfileから必要な宝石をインストールするためにbundle installを実行しました。しかし、アプリケーションを実行すると、インストールされた宝石のバージョンが間違っているというエラーメッセージが表示されます。

Gemfile.lockを調べると、バージョンがインストールされている宝石より古いことに注意してください。 (つまり、新しいバージョンのGemがインストールされており、アプリケーションに古いGemが必要です)

Gemfile.lockファイルで説明されているバージョンごとにすべてのGemを簡単にインストールできますか?あるいは、そのファイルを無視する方法がありますか?

Gemfile:

source 'http://rubygems.org' 
    gem 'rails', "3.0.9" 
    gem "sass" 
    .. 

Gemfile.lock:上記の例で

sass (3.1.1) 
.. 

、SASSアプリをインストールされているにもかかわらず、特別バージョン3.1.1を必要とします。いくつかの特定の宝石のバージョンがヤンクされていない限り、

+0

Bundlerは、バージョンを 'Gemfile.lock'ファイルにインストールする必要があります。つまり、その目的です。あなたのシステムにこれらの宝石のバージョンがインストールされていませんか? – janders223

+0

私は、アプリケーションによって指定されたよりも新しい宝石をインストールしました。バンドルをインストールすると、最新のgemバージョンがインストールされます。 – dmuk

+3

ロックファイルを削除して、再度バンドルしてください。 – emrahbasman

答えて

6

有効なGemfile.lockファイルでbundle execute rails server

+1

+1これには、正しいgemを利用するために、bundlelerからサーバーを実行する必要があります。 –

9

でWebサーバーを実行していることを確認し、一人でbundle installは、十分なものでなければなりません。その場合、現在利用可能な別の宝石のバージョン(通常bundle update name_of_yanked_gemで十分です)を探す必要があります。 sass 3.1.1について

、アプリケーションがGemfile.lockが生成/ Gemfileに指定されている全体的なバージョンの制約与え、最後に更新されたとき、それはおそらく可能な最新バージョンだった、その特定のバージョンが必要ではなく、そんなにはありません。あなたがリストしたように、sassに指定されたバージョン範囲はありませんが、依存関係としてsassがある場合、他の宝石はさらなる制約を課す可能性があります。

通常の状況では、最後にアプリケーションで使用可能であることが分かっていた宝石のバージョンが指定されているため、Gemfile.lockは完全に無視されます。

+0

バンドルのインストールで十分ですか?たとえば、同じ宝石の複数のバージョンがインストールされている場合(多くの場合そうですが)はどうでしょうか?私はそれが 'バンドルラー実行'のためだと思った。 – Dty

+0

に関係なく、 'Gemfile.lock'が生成されている場合、全体の制約を解決した後、指定されたgemごとに1つのバージョンしか含まれません。 'bundle install'はインストール用で、' bundle exec'は実行用です。 – prusswan

+0

ああ、私はあなたが「宝石をインストールするにはどうすればいいの?」という質問者のオリジナルの質問に答えていると思います。私は彼の本当の問題が何であると答えているのですか。 – Dty

2

がGemfile.lockから読み取っバンドル、その後、上記の展開オプションを使用すると

bundle install --deployment 

。これを試してみてください。

しかも、宝石がバンドルディレクトリは自動を作成したことで、ディレクトリベンダー/バンドルにインストールされています。また

、新しいディレクトリ.bundleは直接レールのルートディレクトリの下に作成され、その内容は次のようである...

BUNDLE_FROZEN: '1' 
BUNDLE_PATH: vendor/bundle 
BUNDLE_DISABLE_SHARED_GEMS: '1' 

はあなたのために上記の作品を願って設定という名前のファイルを、持っています。

関連する問題