首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果gem失败并且不是必需的,则允许bundler继续

如果gem失败并且不是必需的,则允许bundler继续
EN

Stack Overflow用户
提问于 2013-07-25 02:23:27
回答 1查看 63关注 0票数 2

我的目标是让bundler尝试安装每个gem,但是如果gem安装失败(通常是由于本机扩展),并且gem不是必需的,那么它会继续尝试安装下一个gem。

我已经在这个问题上挣扎了一段时间,这是因为我试图在linux上为growl_notify构建rb-fsevent with native extensions。任何帮助都将不胜感激。

Gemfile:

代码语言:javascript
复制
source 'http://rubygems.org'

def darwin_only(require_as)
  RUBY_PLATFORM.include?('darwin') && require_as
end

def linux_only(require_as)
  RUBY_PLATFORM.include?('linux') && require_as
end

gem 'sinatra'
gem 'httparty', '~>0.8.1'

group :development do
  gem 'shotgun'
  gem 'heroku'

  gem 'jasmine-headless-webkit'
  gem 'guard-jasmine-headless-webkit'
  gem 'growl_notify', require: darwin_only('growl_notify')
  gem 'rb-fsevent',   require: darwin_only('rb-fsevent') 
  gem 'rb-inotify',   require: linux_only('rb-inotify')
  gem 'libnotify',    require: linux_only('libnotify')
end
EN

回答 1

Stack Overflow用户

发布于 2013-07-25 02:35:34

我也为此而苦苦挣扎。我求助于创建另一个组,并将那些失败的人放入该组,然后是gem install --without group。如果它是你自己的gem,有很多方法可以modify the gem install behavior based on platform ,但是如果你不能控制代码,那么这是我唯一能想到的方法。希望您正在处理的平台与您的开发、生产等团队相对应。

我认为这真的是你的问题:Make bundler use different gems for different platforms

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17841929

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档