Sakuraスタンダードに、とあるサーバ機能を追加しようとしてRubyでコードを書いてテストしたところ、以下エラーが発生した。
`gem_original_require’: no such file to load — mail (LoadError)
メール送信機能は、gemで追加しなければいけなかったらしい。
以下コマンドで追加を実行。
gem install mail
gem install mini_mime
すると、以下エラーが発生してインストールができない。
ERROR: While executing gem … (OpenSSL
調べると、gemのソースURLが古いらしい。
新しいものに変更する。
gem sources –list
*** CURRENT SOURCES ***
http://gems.rubyforge.org/
%
gem sources –add http://rubygems.org
gem sources –remove http://gems.rubyforge.org/
gem sources –list
*** CURRENT SOURCES ***
http://rubygems.org
%
再度インストールを実行し、mail、mini_mimeのインストールは完了したが、まだ最初のエラーは消えず。
`gem_original_require’: no such file to load — mail (LoadError)
調べるとSakuraスタンダードを利用している場合は、コントロールパネルで環境変数「RUBYLIB」と「GEM_HOME」を設定すると良いと出てくるが、設定しても解決せず。
結局、ソースコード内のrequireの前に、$LOAD_PATHを設定してやることで解決した。
mail、mini_mimeのインストールディレクトリのフルパスをそれぞれ指定している。
$LOAD_PATH.unshift(‘/home/●●●/lib/ruby/gem/gems/mail-2.7.1/lib/’)
$LOAD_PATH.unshift(‘/home/●●●/lib/ruby/gem/gems/mini_mime-1.0.2/lib/’)
require ‘mail’
require ‘mini_mime’
メール送信するだけなのに2時間を要した。。
コメント