Rubygems:如何添加特定于平台的依赖项?

2024-01-09

I've 红宝石 https://github.com/mockko/livereload/tree/master/server每个操作系统都有不同的依赖关系。我必须明确地写下所有这些:

在 Mac OS X 上:

gem install livereload

在 Linux 上:

gem install rb-inotify livereload

在 Windows 上:

gem install eventmachine-win32 win32-changenotify win32-event livereload

我可以稍微调整一下 gemspec 以便安装说明看起来很简单吗gem install livereload对于每个操作系统?


概述了执行此操作的正确方法here http://en.wikibooks.org/wiki/Ruby_Programming/RubyGems#How_to_install_different_versions_of_gems_depending_on_which_version_of_ruby_the_installee_is_using。由于 gemspec 是在打包时评估的,因此您需要在本机扩展中执行此操作。别担心,它并没有那么可怕,因为它仍然只是 Ruby 代码(不编译 C 或任何东西)。

我们目前正在对 OpenShift 的一些客户端工具使用这种方法(source) https://github.com/openshift/os-client-tools/blob/master/express/ext/mkrf_conf.rb。然后在您的 gemspec/Rakefile 中,您将添加一个扩展,而不是添加依赖项。注意文件需要命名ext/mkrf_conf.rb为了这个工作。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Rubygems:如何添加特定于平台的依赖项? 的相关文章

随机推荐