2

すべての宝石を Gemfile に入れると、そのまま使用できます

require 'bundler'
Bundler.require :default

すべての宝石をロードします。ここで、Ruby の Std-Lib のモジュールを使用したいと考えています。もちろんできます

require 'fileutils'
require 'json'
[etc.]

しかし、これらのモジュールのほとんどは、必要な gem によって既にロードされています。したがって、必要がなければエラーは発生しません。しかし、宝石を削除すると、これは簡単に変わる可能性があります。

これらの依存関係を処理する良い方法はありますか (テスト以外に)?

4

1 に答える 1

1

必要なすべてのモジュールを手動で見つけて、それらを手動で require するよりも良い方法はないようです。

このハックを使用して、必要なモジュールのリストを見つけました。

find -name *.rb |xargs cat |egrep -o ' [A-Z][a-zA-Z]*(\.|::)' |tr -dc A-Za-z\\n |sort |uniq |xargs -I@ -n1 egrep -o '(module|class) @' -r /usr/lib/ruby/1.9.1/* |cut -d':' -f2 |sort |uniq

完全ではありませんが、ほとんどの場合をカバーする必要があります。

于 2013-04-28T21:18:40.623 に答える