0

独自の gravaty.gemspec ファイルとメイン タスクを含む Rakefile を使用して、独自の「gravaty」gem (RubyGems を参照) を作成しました。

問題は、実行rake package後に実行すると、rake rdocこのエラーが表示されることです

rake aborted!
Circular dependency detected: TOP => package => pkg/gravaty-3.3.1.tgz => pkg/gravaty-3.3.1 => html/index.html => html/index.html

Tasks: TOP => package => pkg/gravaty-3.3.1.tgz => pkg/gravaty-3.3.1 => html/index.html
(See full trace by running task with --trace)

代わりに、の後に同じコマンドを実行するとrake clean clobber、RDochtmlフォルダーがなくても問題は発生しません。

このhttp://hg.savannah.gnu.org/hgweb/gravaty/file/923b9133aefc/Rakefileは Rakefile です。

このhttp://hg.savannah.gnu.org/hgweb/gravaty/file/923b9133aefc/gravaty.gemspecは gemspec です。html34 行目からフォルダーを削除すると( a_gem.files = Dir.glob('{examples,html,lib,test}/**/*') + COMMON_FILES) 動作するようですが、パッケージから RDoc を削除する必要があるのはなぜですか? 取っておいたほうがいいです。

そして、このhttp://hg.savannah.gnu.org/hgweb/gravaty/file/923b9133aefc/Gemfileは、それほど有用ではありませんが、Gemfile です。

4

1 に答える 1

1

古い質問を復活させます。おそらく、あなたはすでに解決策を持っています。しかし、混乱を招く循環依存関係エラーをはるかに単純な方法で調査しているときにあなたの質問を見つけましたRakefile

正確な答えは出せませんが--

10.x Rake にはタスクの名前空間/スコープの問題があります。こちらを参照してください。トップレベルに戻ってルックアップを開始するよう Rake に指示するには、前提条件のタスク名の前に を付けます^。たとえば、task 'foo:bar' => '^bar'"foo:bar" タスクではなく、トップレベル タスク "bar" を呼び出します (循環)。

ここでの問題は Rubygemspackageタスクにあると思います。Rubygems チームにバグや問い合わせを提出するか、メーリング リストに投稿します。

于 2014-12-14T03:22:56.673 に答える