我正在创建一个Ruby gem,我打算在rubygems上发布。不幸的是,有一件事我用Ruby无法实现,而且需要用Bash(controlling RVM from script)完成。
是否可以在gem中包含Bash脚本?如果是,我将如何在gem的上下文中从Ruby运行脚本?
答案 0 :(得分:2)
这是可能的,但脚本只能在类似unix的环境中执行,包括bash。您可以将 .sh 放入bin/
或share/
个文件夹,然后致电:
name = 'your_gem_name'
g = Gem::Specification.find_by_name( name )
system( File.join( g.full_gem_path, 'share/myscript.sh' ) )
当然,您始终可以使用 bundler gem模块来控制当前的gem,而不是运行shell脚本。