加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 22:37:55 所属栏目:百科 来源:网络整理
导读:我有一个小的 Ruby脚本,用于自动化本地机器上开发环境的准备工作.因为我无法确定所有机器上都存在rubyzip2库,所以在需要的时候我会安装脚本. 目前,我的脚本正在做如下操作: begin require 'zip/zip'rescue LoadError system("gem install rubyzip2")end 一
我有一个小的 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.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读