gpt4 book ai didi

ruby - 使用不同的名称从命令行调用 ruby​​ gem

转载 作者:数据小太阳 更新时间:2023-10-29 08:32:41 31 4
gpt4 key购买 nike

有什么方法可以更改用户从命令行调用时必须使用的名称吗?例如,我有一个名为 super_awesome_gem 的 Thor 命令行应用程序。我希望我的 gem 被称为 super_awesome_gem,但是当用户从命令行调用它时,我只希望他们能够调用 sup_awe 或其他东西。

我已经尝试编辑 gemspec 文件以及文件和文件夹名称,但我无法弄清楚执行此操作的正确方法是什么,或者即使有一个。

有没有办法以一种方式命名 gem,并让命令行调用使用不同的名称?

最佳答案

您的 gem 名称和它捆绑的可执行文件不必完全相同。在您的 gemspec 中,您可以通过 executables 定义可执行文件列表:

Gem::Specification.new do |s|
s.name = "super_awesome_gem"
# other gemspec stuff
s.executables = ["sup_awe"]
end

只要 sup_awe 列在 gemspec 的 files 列表中,并且是可执行的,在用户安装您的 gem 后,它就会出现在用户的路径中。 Bundler,在引导您的 gemspec 时,使这变得更加简单

s.executables   = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }

bin/ 中的任何内容都将被视为可执行文件。

这就是说您的可执行文件/bin 文件可以随心所欲地命名,而不必为您的 gem 命名。

关于ruby - 使用不同的名称从命令行调用 ruby​​ gem,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16230861/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com