1

我在一个雷神课程中有雷神任务。我想将它提取到 my_gem 并像 bin 一样使用它。有可能的?现在我将此任务移动到 lib/my_gem/thor/tasks 并将 Thorfile 添加到 gem,然后在 my_gem/bin 中创建 my_gem.rb,但它不起作用。如果有人知道另一种方法,请帮助。谢谢!

4

1 回答 1

1

是的,这是可能的,你需要添加这个,或者类似于你的my_gem.gemspec(这适用于由 创建的 gem bundle gem,并且文件列表已经被分配):

Gem::Specification.new do |gem|
  # All the other usual stuff, e.g.  gem.files  = `git ls-files`.split($/)
  gem.executables   = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
end

然后可执行文件应该在gem install(或bundle install等)上得到正确处理,并放在你的路径上。

同样重要的是:可执行脚本应该启动

#!/usr/bin/env ruby

扩展名是可选的.rb,通常在命令行脚本中省略,因为否则您需要在调用脚本时键入它。

于 2013-09-08T14:15:55.033 回答