【解決済】SakuraスタンダードでRubyを使おうとしたら「no such file to load」

アプリ開発

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時間を要した。。




コメント

タイトルとURLをコピーしました