こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Ubuntuでrequire 'mail'ができな

Windows上でメールを受信するRubyでプログラミングをし、動作することは確認しています。

require "mail"
で始まるのですが、

Ubuntu12.04LTSでは
'require': cannot load such file -- mail (LoadError)
と出てしまいます。
このmailライブラリをインストールしたいのですが、
sudo apt-get install mail
のようにコマンドラインから入力しても
E: パッケージ mail がみつかりません
と出てしまいます。

Rubyのバージョンは 2.0.0p247
Railsのバージョンは2.3.14
です。

どのようにすれば require "mail"が可能になるでしょうか?

よろしくおねがいします。

以上

投稿日時 - 2014-03-23 22:44:22

QNo.8526165

困ってます

質問者が選んだベストアンサー

このあたりを参考にされてはどうでしょうか

http://blog.goo.ne.jp/isc_subleader/e/66e284e6f367b84e668252f67ee1792a

それと、apt-getでインストールしたrubyが残っていたらトラブルの原因になります。
# dpkg -l | grep パッケージ名など
で調べるのかな。
railsもgem listで表示されていませんので、入れた記憶があるのでしたら、ほかのバージョンのrubyが残っている可能性が高いです。

私自身はScientific LinuxとOSXを使っていますのでちょっとコマンド体系が違うので外れているかも知れませんが。

投稿日時 - 2014-03-26 23:26:08

お礼

ご指摘のリンク先を参考に、opensslとzlibを入れたら
うまくmailもインストールできました。
ありがとうございます。

rubyを途中で手動でversion upしたものの、きちんとインストールされていなかったのですね。
また、トラブル発生時にここで相談させていただきましたが、
正確にすべてを記載しなかったため、皆さんを混乱させ、
解決までに時間がかかりました。
アドバイスいただいた方、ここに記載しなかったものの
いろいろと調べてくださった方に感謝申し上げます。

以上

投稿日時 - 2014-03-29 20:25:51

ANo.4

このQ&Aは役に立ちましたか?

8人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.3

No.2です。
ruby2.0が複数入っていない限り大丈夫だと思いますが。
一度ログインしなおして、もう一度
$ sudo gem install mail
でインストールしたらどうでしょうか。

それと、正常にインストールされていたら
$ gem listでmailが出てくるはずです。

ruby 2.0は自力でコンパイルしたものではないですよね。

投稿日時 - 2014-03-25 21:22:46

補足

重ね重ねありがとうございます。

sudo gem install mail
と入力しても、
ERROR: Loading command: install (LoadError)
cannot load such file -- openssl
ERROR: While executing gem ... (NoMethodError)
undefined method `invoke_with_build_args' for nil:NilClass
とでます。

また、gem listと入力しても
*** LOCAL GEMS ***

bigdecimal (1.2.0)
io-console (0.4.2)
json (1.7.7)
minitest (4.3.2)
psych (2.0.0)
rake (0.9.6)
rdoc (4.0.0)
test-unit (2.0.0.0)
と出力され、mailはありません。

openSSLがうまくインストールされていないのでしょうか・・・

ruby 2.0はコンパイルしてインストールした記憶があります。
(Webをみながら、いろいろためしたもので・・・)

何かお気づきの点あれば、ご指摘ください。
よろしくお願いします。

以上

投稿日時 - 2014-03-25 22:22:32

ANo.2

rubyの違うバージョンが2つ入っていたりしませんか?
それが原因でトラブったことがあります。確認してください。

それと
$ gem env

- RUBY VERSION:
$ ruby -v
の結果が一致していますか?

また、表示される
- GEM PATHS:
の中にmailが入っているか確認してみてください。

投稿日時 - 2014-03-24 00:42:49

補足

ありがとうございます。
1) Rubyのバージョンは現在は2.0.0ですが、
以前は1.9だったような気がします。
Rubyが2つ以上入っているかどうか確認の仕方がわからず、2つ入っているかは確認できていません。

2) gem env と ruby -vは同じ2.0.0でした。

3) GEM Pathsのフォルダにはmailが存在しませんでした。(findコマンドで、見つかりませんでした)。


3)のmailがないのが原因と思いますが、mailだけDLしてインストールすることは可能なのでしょうか?

投稿日時 - 2014-03-25 12:15:27

ANo.1

mailというのはrubygemsですよね。
Ubuntuのことはよく知らんですが、
apt-get rubygems mailで検索するとそれっぽいものが見つかりますが。
http://www.cyberciti.biz/faq/debian-ubuntu-install-gem-the-frontend-to-rubygems/

とりあえず、
$ sudo apt-get install rubygems
でrubygemsをインストールして、それから
$ sudo gem install mail
すれば良いのではないでしょうか?

投稿日時 - 2014-03-23 23:00:37

補足

早速ありがとうございます。
$ sudo apt-get install rubygems
しましたが、
rubygemsはすでに最新バージョンです。
rubygemsは手動でインスト-ル下と設定されました。
と出ます。(他にも数行)
新たにインストールされた感じではありません。
その後、
$ sudo gem install mail
しましたが、質問最初に記載した同じエラーがでます。
何が悪いんでしょう・・・・?

投稿日時 - 2014-03-23 23:10:46

あなたにオススメの質問