4

実行時の依存関係としてトールを持つ宝石my_gemがあります。次の宝石にある Thor のサブクラスがあります。

lib/tasks/task.thor

実行できる宝石のソースディレクトリから:

bundle
thor task:my_task

my_task が実行されます。

ただし、別のプロジェクトの Gemfile に my_gem を含めると、実行すると次のようになります

bundle
thor task:my_task

私は得る:

利用できるトール タスクはありません

私は何を間違っていますか?

4

1 に答える 1

0

私がこれを正しく理解していれば、lib/tasks/task.thor は実際には gem 自体の一部であり、thor ファイルが gem に埋もれているのを thor が見つけることを期待しているように思えます。

この場合、Thor は gem のディレクトリを自動的に検索しないため、これは機能しません。

たとえば、Rails のように、thor ファイルをまったく使用せずに、単にコマンド ライン パラメーターを処理するために thor を使用するコマンドを作成することを検討することをお勧めします。

本当にこの方法で thor を実行する必要がある場合、gem は thor ファイルを thor 検索のパスに配置するという「魔法」を実行する必要があります。

于 2014-07-18T22:52:17.367 に答える