如何从ruby脚本中安装rubygem并在之后需要这个gem?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何从ruby脚本中安装rubygem并在之后需要这个gem?相关的知识,希望对你有一定的参考价值。
我想做这样的事情:
begin
require 'progressbar'
rescue LoadError => e
puts "exception .. installing with gem"
h = system 'gem install progressbar'
puts "gem installed #{h}"
require 'progressbar'
end
pbar = ProgressBar.new("test", 100)
100.times {sleep(0.1); pbar.inc}; pbar.finish
但很明显,如果您运行此代码段,则进度条宝石不可用。
答案
我发现了这个讨论:https://www.ruby-forum.com/topic/131346显然,调用Gem.clear_paths
解决了这个问题。总共:
begin
require 'progressbar'
rescue LoadError => e
puts "exception .. installing gem"
h = system 'gem install progressbar'
puts "gem installed #{h}"
Gem.clear_paths
require 'progressbar'
end
pbar = ProgressBar.new("test", 100)
100.times {sleep(0.1); pbar.inc}; pbar.finish
以上是关于如何从ruby脚本中安装rubygem并在之后需要这个gem?的主要内容,如果未能解决你的问题,请参考以下文章
安装 rubygems 时出现 SSL 错误,无法从“https://rubygems.org/”中提取数据
如何在AWS Lambda函数中安装/使用ruby gems?