我有一个名为my_gem的gem,它将thor作为运行时依赖项。我在宝石中有一个Thor子类,位于:
lib/tasks/task.thor
在gem的源目录中,我可以运行:
bundle
thor task:my_taskmy_task就会被执行。
但是,如果我在另一个项目的Gemfile中包含了my_gem,则在运行以下命令时:
bundle
thor task:my_task我得到:
没有thor任务可用
我做错什么了?
发布于 2014-07-18 22:52:17
在我看来,如果我正确地理解了这一点,您的lib/任务/task.thor实际上是gem本身的一部分,并且您希望thor能够找到隐藏在gem中的thor文件。
如果是这样的话,这将无法工作,因为thor将不会自动查看您的gem目录。
您可能想考虑完全不使用thor文件,只需编写一个使用thor处理命令行参数的命令,比如Rails。
如果您真的需要以这种方式运行thor,那么您的gem必须执行将您的thor文件放在thor搜索路径中的“魔法”。
https://stackoverflow.com/questions/13618395
复制相似问题