我有一个gem my_gem ,它有 thor 作为运行时依赖项。我在宝石中有一个Thor的子类:
lib/tasks/task.thor
从gem的源目录我可以运行:
bundle
thor task:my_task
和my_task将被执行。
但是,如果我在另一个项目的Gemfile中包含 my_gem ,那么当我运行时:
bundle
thor task:my_task
我明白了:
没有可用的任务
我做错了什么?
答案 0 :(得分:0)
在我看来,如果我理解正确的话,那你的lib / tasks / task.thor实际上是gem本身的一部分,并且你希望Thor找到埋在你的gem中的你的thor文件。 / p>
如果是这种情况,这将不起作用,因为thor不会自动查看gem的目录。
您可能想要考虑根本不使用thor文件,只需编写一个使用thor来处理命令行参数的命令,例如Rails就可以了。
如果你真的需要以这种方式运行thor,那么你的宝石必须“将你的Thor文件放入搜索路径中的魔力”。