0

知りたいのですが、rake タスクは a を自動ロードし.gemspecますか? gem のビルドを自動化するために rake タスクを実行しているため、質問します。その一部はファイルのロードであり、メッセージが出力されます。

私は見る必要があります:

Loading external libraries for rake_tasks

代わりに次のように表示されます。

Loading external libraries for gemspec

メッセージは次のとおりです。

puts "Loading external libaries for #{$Loading_for}"

rake_tasks 、$loading_forgemspec、executable、a​​pp など、ファイル読み込みのリクエストがどこから来たかに応じて設定されます。

rake タスクで $loading_for を次のように設定していますが、

$Loading_for = :rake_tasks

それは印刷しています:

Loading external libaries for gemspec

問題は、なぜ gemspec が読み込まれるのかということです。rakefile 内のどこからでもロードしていません。

また、別の奇妙な点は、私が行うたびにrake -h奇妙な警告が表示されることです。

WARN: Unresolved specs during Gem::Specification.reset:
      rack-test (>= 0)

私が持っているので、それは奇妙です:

spec.add_development_dependency "rack-test", "0.6.3"

私のgemspecで。

ps のスペルミスを認識しておりlibaries、これは修正されました。

4

1 に答える 1

0

Rake は単なる ruby​​ コードであるため、単純な rake コマンドを何らかの方法で操作する他の gem を使用していない場合を除きます。gemsec ファイルを読み込んではいけません!

github の rake リポジトリでこの $global 変数を検索しましたが、何も見つかりませんでした。ここ

自然なルビーコードに影響を与える可能性のある何かをしていると思われる場合は、質問を更新してください。

于 2015-05-12T15:24:06.540 に答える