1

別のgemをインストールするときに特定のgemがインストールされる理由をどのように知ることができますか?

つまり、依存関係がどこから来ているのかを見つける簡単な方法はありますか?gemのインストールは失敗します。したがって、gemの依存関係は、インストールされたgemのみを処理するため機能しません。そのため、依存関係を追跡したいのですが、インストールが壊れており、必要ではないようです。

まだインストールされていないgem間の依存関係を追跡するのに役立つツールはありますか?依存関係ツリーを出力する秘密のバンドスイッチかもしれませんか?

更新彼らは、問題を解消する新しいバージョンのtwitter-bootstrap-railsをリリースしたばかりです。それでも、アンインストールされたgemの依存関係グラフを追跡する方法があれば便利です。

これが失敗するコマンドで、JRubyを搭載したWindowsで実行されています

gem install twitter-bootstrap-rails

どういうわけか、これにより古いバージョンのlibv8 gemがインストールされ、インストールに失敗します。twitter-bootstrap-railsはgem_specにlibv8をリストせず、他の人や他の人に依存するtherubyrhinoとless-railsのみをリストします...誰かが最終的に古いバージョンのlibv8(v3.3.10.4)に依存します。問題は、どのgemがlibv8への依存を引き起こすのかということです。

これが私の環境です。

RubyGems Environment:
  - RUBYGEMS VERSION: 1.8.15
  - RUBY VERSION: 1.9.2 (2012-02-22 patchlevel 312) [java]
  - INSTALLATION DIRECTORY: c:/jruby-1.6.7/lib/ruby/gems/1.8
  - RUBY EXECUTABLE: c:/jruby-1.6.7/bin/jruby.exe
  - EXECUTABLE DIRECTORY: c:/jruby-1.6.7/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - universal-java-1.7
  - GEM PATHS:
     - c:/jruby-1.6.7/lib/ruby/gems/1.8
     - c:/Users/alex/.gem/jruby/1.9
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :benchmark => false
     - :backtrace => false
     - :bulk_threshold => 1000
     - "install" => "--no-rdoc --no-ri --env-shebang"
     - "update" => "--no-rdoc --no-ri --env-shebang"
  - REMOTE SOURCES:
     - http://rubygems.org/
4

1 に答える 1

1

MRIでインストールできる場合は、gemvizを使用して次のような依存関係グラフを表示できます。

gemviz twitter-bootstrap-rails

インストールされていないgemでそれを行うことは可能であるはずです(これを行うWebサイトが必要です)が、gemvizはそれを行うことができません。

編集:依存関係グラフは次のとおりです。

twitter-bootstrap-railsgem依存関係グラフ

したがって、 therubyracerはlibv8に依存しています。そこにはたくさんの依存関係があります。

于 2012-07-16T22:00:15.510 に答える