我可以使用 RSpec 或 Rails 或 Pry 之类的 gem,方法是在命令行上调用它们各自的 gem 名称,例如rspec
, 。如何使用我创建的宝石实现这一目标?我正在使用 bundler 进行基本的 gem 创建。rails
pry
问问题
6654 次
3 回答
12
我实际上在文件夹中有我的可执行/bin
文件。
原来我的问题是 bundler 的 gem 模板太聪明了,它只包含已提交给 git 的文件。我实际上还没有提交可执行文件,所以它没有把它捡起来:
# gemname.gemspec
gem.files = `git ls-files`.split($\)
于 2012-11-02T07:03:56.877 回答
5
根据Gemspec 文件的文档,您必须将可执行文件放在bin/
文件夹中。
于 2012-10-20T15:47:06.897 回答
3
要使您的 gem 在 CLI 中可执行,您应该设置以下内容。
- 将您的可执行文件放在
bin
文件夹中,例如bin/hello
chmod u+x bin/hello
通过设置权限 ( )使该可执行文件- 相应地设置 gemspec 配置 (
hello.gemspec
)
spec.files = `git ls-files -Z`.split("\x0")
spec.bindir = 'bin'
spec.executables << 'hello'
spec.executables
视为bin
二进制文件和可执行文件的默认文件夹,但您可以更改它。
您可以在此处找到相关文档:Gemspec#executables。
于 2021-01-13T18:07:45.993 回答