我有一个ruby gem,它对每个操作系统都有不同的依赖关系.我必须明确地写下所有这些:
在Mac OS X上:
Run Code Online (Sandbox Code Playgroud)gem install livereload在Linux上:
Run Code Online (Sandbox Code Playgroud)gem install rb-inotify livereload在Windows上:
Run Code Online (Sandbox Code Playgroud)gem install eventmachine-win32 win32-changenotify win32-event livereload
我可以稍微调整一下gemspec,这样gem install livereload每个操作系统的安装说明都很简单吗?
Fot*_*ios 20
这里概述了执行此操作的正确方法.由于gemspec是在打包时评估的,因此您需要在本机扩展中进行评估.不要担心,它不是那么可怕,因为它仍然只是Ruby代码(不编译C或任何东西).
我们目前正在将这种方法用于OpenShift的一些客户端工具(源代码).然后在你的gemspec/Rakefile中,你可以添加一个扩展名,而不是添加依赖项.请注意,需要为此命名文件ext/mkrf_conf.rb才能生效.