Ruby 安全地要求宝石在红宝石
是否有一种方法可以安全地要求ruby gem,以便在找不到该gem时不会引发异常 我正在寻找一个接近这一点的解决方案:Ruby 安全地要求宝石在红宝石,ruby,rubygems,require,Ruby,Rubygems,Require,是否有一种方法可以安全地要求ruby gem,以便在找不到该gem时不会引发异常 我正在寻找一个接近这一点的解决方案: if require 'hirb' # do some hirb related stuff else # do other stuff end 我希望这样做是为了确保没有不必要的gem会使我的部署失败。可能会这样做: begin require 'hirb' rescue LoadError => e puts "could not find hirb
if require 'hirb'
# do some hirb related stuff
else
# do other stuff
end
我希望这样做是为了确保没有不必要的gem会使我的部署失败。可能会这样做:
begin
require 'hirb'
rescue LoadError => e
puts "could not find hirb"
end
最好的方法是使用bundler,这样你就可以确保你的gem真的会被安装。bundler的功能很好,但它对我想进行此检查的位置没有帮助。好的,我会使用Kernel.gem来加载gem,并确保它是一个gem而不是其他文件。Ruby应该有一个
类的\u want
命令,用于在您不真正需要东西时使用;开始;要求姓名;产量救援装载错误;放置“无法加载#{gemname}”;结束;结束
:D