解决方法
您不应该需要生成宝石的可执行文件.理想情况下,您的可执行文件依赖于您的gem提供功能的库.例如,看看
the
heroku
executable in the Heroku gem:
#!/usr/bin/env ruby lib = File.expand_path(File.dirname(__FILE__) + '/../lib') $LOAD_PATH.unshift(lib) if File.directory?(lib) && !$LOAD_PATH.include?(lib) require 'heroku' require 'heroku/command' args = ARGV.dup ARGV.clear command = args.shift.strip rescue 'help' Heroku::Command.run(command,args)
这是解析命令行所需的最小代码量,并将该数据发送到Heroku库的其余部分进行处理.代码更改时不需要生成任何内容,因为可执行文件本身依赖于要运行的代码.