レンタルサーバでRubyのスクリプトを走らせたいと思っています。このスクリプトでは、標準でインストールされない(と思われる)Rubyモジュールもいくつか用いてます。

ウェブサーバのエラーログは見られないという状況下で、Rubyモジュールがそのサーバにインストールされているかどうかを簡単に判別する方法はありませんか。

回答の条件
  • 1人3回まで
  • 登録:2007/11/12 09:59:46
  • 終了:2007/11/15 15:36:33

回答(2件)

id:Kumappus No.1

くまっぷす回答回数3784ベストアンサー獲得回数1852007/11/12 10:54:34

ポイント25pt

はずしていたらすみません。

そのサーバにloginしてシェルから

ruby -e "require 'hoge'"

って実行すれば?hogeモジュールがあればエラーは出ませんが、なければ

/usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:21:in `require__': no such file to load -- hoge (LoadError)
        from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:21:in `require'
        from -e:1

みたいなエラーが出ます。

id:room661

あー、すんません。条件を1つ書き忘れていました。

シェルは使えないんです。

もしアイデアお持ちでしたらご回答お願いします。

2007/11/12 12:50:19
id:nuna No.2

nuna回答回数32ベストアンサー獲得回数112007/11/12 14:30:48

ポイント45pt

require 失敗時には LoadError 例外が上がるので、以下のような CGI を設置して叩けば調べられます。

#!/usr/bin/ruby
puts 'Content-Type: text/plain'
puts ''
begin
  require 'hoge'
  puts 'hoge is installed'
rescue LoadError
  puts 'hoge not found'
end
id:room661

なるほど、ありがとうございます。

後ほど試してみます。

2007/11/12 14:33:46

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません