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