-1
ローカルシステムから必要な宝石をロードできないときにルビースクリプトからルビーの宝石をインストールしようとしています。ここに私のコードです。'LoadError'が発生したときにレスキューブロックにルビーの宝石をインストールする
begin
require '<gem name here>'
rescue LoadError
puts `gem install <gem name here>`
require '<gem name here>'
end
上記のコードは、rescue
ブロックに宝石をインストールします。しかし、それが宝石を必要とするとき、それはこのエラーを示します:
.rvm/rubies/ruby-2.4.2/lib/ruby/site_ruby/2.4.0/rubygems/core_ext/kernel_require.rb
:55:in require': cannot load such file -- <gem name here> (LoadError)
これはどのように解決できますか?私は宝石がrescue
ブロックの中にロードされていて、システムにまだ存在しないようにしたい。
冒頭に必要な宝石の完全なリストがわかりませんか? –
あなたは文字通り '' ''をコードに書いていますか? –
sawa
@JagdeepSingh私は宝石の完全なリストを知っています。本番システムでは、このように記述すると、宝石の手動インストールは不要です。その目的のために私はこのようにしていました。 –