我想使用 Thor 在 Ruby 中创建一个命令行工具。此工具应打包为 gem,以便轻松安装和卸载。
创建和发布 gem,我已经完成了。我还创建了几个同样有效的 Thor 脚本。但是,我不知道如何将它们结合起来。
我的目标是能够通过以下方式调用我的工具: mytool task param --options mytool taskgroup:task param --options
我知道如何使一个 Thor 脚本可执行。但是,如何让一堆雷神脚本可以访问 throw one 命令?
我想使用 Thor 在 Ruby 中创建一个命令行工具。此工具应打包为 gem,以便轻松安装和卸载。
创建和发布 gem,我已经完成了。我还创建了几个同样有效的 Thor 脚本。但是,我不知道如何将它们结合起来。
我的目标是能够通过以下方式调用我的工具: mytool task param --options mytool taskgroup:task param --options
我知道如何使一个 Thor 脚本可执行。但是,如何让一堆雷神脚本可以访问 throw one 命令?
根据相关的 Gem 文档,您可以指定(在您的 .gemspec 中):
spec.executables = ['bin/foo', 'bin/bar']
spec.default_executable = 'bin/bar'
并让您的 gem 安装一堆可执行文件(foo
和bar
)。或者,您为所有 Thor 脚本编写一个包装器并指定:
spec.executables = ['bin/wrapper']
并让您的 gem 只安装一个可执行文件 ( wrapper
)。
电传打字机 gem ( https://github.com/piotrmurach/tty ) 在为此设置所有脚手架方面做得非常出色。使用电传打字机创建您的项目,然后填写实现。