gpt4 book ai didi

ruby - 如果 gem 失败且不需要,则允许 bundle 程序继续

转载 作者:太空宇宙 更新时间:2023-11-03 16:04:11 25 4
gpt4 key购买 nike

我的目标是让 bundler 尝试安装每个 gem,但如果一个 gem 无法安装(通常是由于 native 扩展),并且不需要该 gem,那么它将继续尝试安装下一个。

我已经为此苦苦挣扎了一段时间,这是因为我试图在 Linux 上为 growl_notify 构建带有 native 扩展的 rb-fsevent。任何帮助将不胜感激。

gem 文件:

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

最佳答案

我也遇到过这个问题。我求助于创建另一个组,并将失败的组放入该组,然后 gem install --without group。有办法modify the gem install behavior based on platform 如果它是您自己的杰作,但如果您无法控制代码,那么这是我唯一能想到的。希望您正在处理的平台与您的开发、生产等团队相对应。

我认为这确实是您的问题: Make bundler use different gems for different platforms

关于ruby - 如果 gem 失败且不需要,则允许 bundle 程序继续,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17841929/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com