アプリ版:「スタンプのみでお礼する」機能のリリースについて

gemでrailsを指定ディレクトリにインストールをしようとしているのですが、railsのインストールでエラーが出てしまいます。

rubyはもともと入っており、管理者権限などが無いため、
rubygemsを指定ディレクトリ以下にいれgemコマンドで

←gem install rails --include-dependencies

を投入したところ、
→ERROR: While executing gem ... (NameError)
uninitialized constant Digest::MD5

のエラーが表示されてしまいます。
gem -vなど、正常に実行されるコマンドもあります。
原因などわかる方がいらっしゃれば、教えていただきたいです。

・バージョン、場所
rubygems:1.3.1
 指定ディレクトリ/rubygems
ruby:1.8.7
/usr/local/lib/ruby

A 回答 (2件)

「管理者権限がない」ということは、Linux系システムだと思うので、Linux系+Rubyはよく知りませんが、自分なら次の点を確認します。



・rubyライブラリへのアクセス権があるか
・rubyライブラリがロードパスに含まれているか(普通含まれているはずですが・・)
 ○puts $LOAD_PATHを実行して、ロードパスを確認
 ○-Idirectoryオプションを指定して実行してみる
・Digest::MD5が定義されているファイルが本当に存在するか(ぜんぜん調べてないのであてにならないのですが、digest.soの中で定義?)
・rubyを自分用にインストールしなおして再トライしてみる
 これをやればアクセス権の問題やファイルが足りない問題だった場合解決するはず

gem install railsでエラーとなる箇所がrequire時ではなくいきなり「uninitialized constant Digest::MD5」となっている点が気になりますが・・

推測とかしかできませんね・・。
書きたいほうだいでスミマセン。
    • good
    • 0

> ERROR: While executing gem ... (NameError)


> uninitialized constant Digest::MD5

DigestモジュールのMD5定数を使用する何かのライブラリが足りないようにとれますね。

require 'digest/md5'
puts Digest::MD5

これが質問者さんの環境でエラーとならなずに実行できますでしょうか・・。
Ruby詳しくないのでこれ以上は分かりませんけども。

この回答への補足

回答ありがとうございました。

require 'digest/md5'を実行したところで、
uninitialized constant Gem::Digest (NameError)
のエラーとなりました。
ライブラリが足らないようです・・。

ただ、各所のマニュアルを見てもこのライブラリはデフォルトで入っているようで、これがなぜ無いのかがわからず困っています。
このライブラリは、rubyやgem?のバージョンによって入っていなかったりするのでしょうか?

補足日時:2009/04/28 02:29
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!