如何确保在独立脚本中安装ruby gem-第一次运行失败,第二次运行正常
我是新来的,很明显我错过了一些东西。。。 我已经搜索过了,但没有找到与此完全匹配的东西 跑步: ruby 2.2.4p230(2015-12-16修订版53155)[i386-mingw32] 确保在独立脚本中安装非本机gem 第i条 第一次跑步时: C:\Users*****\Desktop*****\lib>ruby my_app.rb 无法将lib/figlet/fonts/bubble.flf的“\xC4”从ASCII-8BIT转换为UTF-8,跳过 无法将lib/figlet/fonts/digital.flf的“\xC4”从ASCII-8BIT转换为UTF-8,正在跳过 无法将lib/figlet/fonts/l4me.flf的“\xB0”从ASCII-8BIT转换为UTF-8,正在跳过 无法将lib/figlet/fonts/pyramid.flf的“\x81”从ASCII-8BIT转换为UTF-8,跳过 无法将lib/figlet/fonts/rot13.flf的“\xC4”从ASCII-8BIT转换为UTF-8,正在跳过 无法将lib/figlet/fonts/term.flf的“\xC4”从ASCII-8BIT转换为UTF-8,正在跳过 无法将lib/figlet/fonts/tsalagi.flf的“\xC4”从ASCII-8BIT转换为UTF-8,跳过如何确保在独立脚本中安装ruby gem-第一次运行失败,第二次运行正常,ruby,rubygems,Ruby,Rubygems,我是新来的,很明显我错过了一些东西。。。 我已经搜索过了,但没有找到与此完全匹配的东西 跑步: ruby 2.2.4p230(2015-12-16修订版53155)[i386-mingw32] 确保在独立脚本中安装非本机gem 第i条 第一次跑步时: C:\Users*****\Desktop*****\lib>ruby my_app.rb 无法将lib/figlet/fonts/bubble.flf的“\xC4”从ASCII-8BIT转换为UTF-8,跳过 无法将lib/figlet/font
C:/Ruby/lib/Ruby/2.2.0/rubygems/core\u ext/kernel\u require.rb:54:in
require”:无法加载这样的文件--artii(LoadError)
来自C:/Ruby/lib/Ruby/2.2.0/rubygems/core\u ext/kernel\u require.rb:54:in
require'
从app.rb:11:in确保
从app.rb:14:in
'
第二次运行时:
脚本按预期工作。没有魔法-如果
spring
,此gem将在之后加载并保留在内存中
尝试添加
需要“artii”
在代码的开头我认为您的问题是试图使用
gem this_name
语法。
这只是为了文件,
在脚本中坚持使用
require
问题是Gem会安装,但当再次遇到require时,它不会出现在列表中。这可能与require的rubygems别名有关。。。我不确定。我想如果有一个“刷新列表”,它会工作的。
def ensure_nn_gem(this_gem)
begin
gem this_gem
rescue LoadError
`gem install #{this_gem}`
end
require this_gem
end
ensure_nn_gem('artii')