2013-12-16 10 views
11

bundle install`gem list`コマンドにbundlerの:gitオプションを付けてインストールされた宝石が含まれていないのはなぜですか?私たちのレール3.2 <code>Gemfile</code>、など<code>github</code>にレポするオプション<code>:git</code>ポインティングでインストールいくつかの宝石があるで

gem 'ruote', :git => 'http://github.com/jmettraux/ruote.git' 

が、私たちは、インストールされているすべての宝石を一覧表示するgem listを入力します。しかし、gem listは、宝石としてruoteを記載していません。実際には、ruoteは全く表示されていません。我々は同じことがすべてのレールenginesにも起こり、オプション:gitがgithub上のレポを指していることに気付きました。なぜ宝石リストにはインストールされている宝石のリストがないのですか? ruoteが正しくインストールされていることをどのように確認できますか?バンドラーは、それ自体ですべての作業を行う必要がありますので、gemコマンドは、それらを処理することはできませんので

答えて

18

Bundler Documentationによると、gitのソースからの宝石はgem listに表示されません。 Bundlerはこれらの宝石を代わりに独自の場所に保管します。 (この場所は現在のプロジェクトとは関係ありません。デフォルトで~/.bundler/...にあります)

bundle installがエラーなしで完了した場合にインストールされていることがわかります。 bundle showを使って、Bundlerが設定した宝石のリストを見ることもできます。

+1

しかし、どのようにそれらの宝石を使用できますか?つまり、単純な「要求」はそれらを見つけることができません。 – refaelos

+0

@refaelos 'bundle exec'を使ってあなたのアプリケーションを実行すると、単純な' require'が必要なものです。 –

+0

ありがとう@Moshe Katz!私は、ファイル内のバンドル/セットアップも必要であることに気付きました。 – refaelos

0

gem listはあなたのマシンにインストールされているすべての宝石を表示しています。

Rubyの宝石とは異なる場所にある宝石を持っている場合、Bundlerはこれらをシステム全体ではなくプロジェクトのためにローカルに保存します。

+0

'bundler'は' --deployment'を使うと、プロジェクトのためにローカルにしか宝石を保存しません。 –

1

gem listは、システム全体の宝石を表示するので、アプリケーションにインストールされた宝石を表示する正しい方法ではありません。

このアプリとそのバージョンの宝石を確認するには、Gemfile.lockをチェックしてください。そこに最も正確な情報があります。

関連する問題