ruby – 在脚本中安装宝石后,如何加载宝石?

前端之家收集整理的这篇文章主要介绍了ruby – 在脚本中安装宝石后,如何加载宝石?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个小的 Ruby脚本,用于自动化本地机器上开发环境的准备工作.因为我无法确定所有机器上都存在rubyzip2库,所以在需要的时候我会安装脚本.

目前,我的脚本正在做如下操作:

begin
  require 'zip/zip'
rescue LoadError
  system("gem install rubyzip2")
end

一旦安装了gem,脚本将继续执行;然而,gem尚未加载,因此所有需要rubyzip2的代码都会停止执行.

如何将gem加载到内存中,以便脚本可以在安装后继续运行?

解决方法

bundler版本高于1.10(更新只是运行gem安装捆绑器),您可以使用其新的“内联”功能,如 here所述.
require 'bundler/inline'

gemfile(true) do
  source 'https://rubygems.org'
  gem 'catpix'
end

puts Catpix::VERSION

gemfile方法的第一个参数是是否应该安装尚未安装在用户系统上的gem.

猜你在找的Ruby相关文章