我希望在我的gem中包含一个Windows .exe并从gem中调用该可执行文件。我见过的所有建议都包括在gem中包含可执行文件,需要一个hashbang来指示哪个程序应该运行可执行文件(通常是“#!/ usr / bin / env ruby “)。我不知道有任何程序可以调用;我只是想调用.exe。最好的方法是什么?
答案 0 :(得分:1)
这些适用于* nix系统。
你可以做到
%x{full path to your .exe}
使用
$?
获取退出状态。
答案 1 :(得分:1)
hashbang可以创建一个gem可执行文件,但不必简单地在gem本身内调用.exe。调用模块位于gem的lib /和bin /中的.exe中。我能够用
从ruby代码中调用.exeexe_path = File.expand_path(File.join(File.dirname(__FILE__), "..", "bin", "foo.exe"))
return_value = `#{exe_path}`
只要你在gemspec中复制lib /和bin /就行了。