Red Hat EL6 サーバー (本番用) があります。ソースから ruby と rubygems をインストールしました。
# uname -a
Linux servername 2.6.32-279.el6.x86_64 #1 SMP Wed Jun 13 18:24:36 EDT 2012 x86_64 x86_64 x86_64 GNU/Linux
# ruby -v
ruby 1.9.3p429 (2013-05-15 revision 40747) [x86_64-linux]
開発マシンからこの運用サーバーにデプロイできます。すべてがうまく機能します。私は翌日来て、旅客エラーページを取得します。エラーが何であったか忘れましたが、先週発生しました。しかし、コマンドを実行することさえできませんでしたruby -v
。
何が起こったのかを調査しようとしましたが、エラーの原因を見つけることができませんでした。そこで、Ruby と RubyGems (2.0.3) を再度コンパイルします。すべてが再びうまく機能します。月曜日に到着すると、乗客のエラー ページが表示されます。
/usr/local/lib/ruby/site_ruby/1.9.1/rubygems.rb:1070:in `require': closed stream (IOError)
from /usr/local/lib/ruby/site_ruby/1.9.1/rubygems.rb:1070:in `<module:Gem>'
from /usr/local/lib/ruby/site_ruby/1.9.1/rubygems.rb:114:in `<top (required)>'
from <internal:gem_prelude>:1:in `require'
from <internal:gem_prelude>:1:in `<compiled>'
今回は などの ruby コマンドを実行できますが、パッセンジャー ページで発生したのと同じエラーが発生するためruby -v
実行できません。gem -v
そこで、rubygems.rb ファイルの 1070 行目に移動して、エラーを生成しているコード行を確認します。これは...
require "rubygems/specification"
rubygems フォルダーに移動すると、specification.rb ファイルがあります。
更新
わかりましたので、もう一度 rubygems をインストールして実行しようとしましたがruby setup.rb
、これが得られたものです...
# ruby setup.rb
/usr/local/lib/ruby/site_ruby/1.9.1/rubygems.rb:1070:in `require': closed stream (IOError)
from /usr/local/lib/ruby/site_ruby/1.9.1/rubygems.rb:1070:in `<module:Gem>'
from /usr/local/lib/ruby/site_ruby/1.9.1/rubygems.rb:114:in `<top (required)>'
from <internal:gem_prelude>:1:in `require'
from <internal:gem_prelude>:1:in `<compiled>'
サーバーで何が起こっているか知っている人はいますか? もう一度 rubygems をコンパイルしてみます。おそらくエラーは修正されますが、明日は別のエラーが発生するのではないかと思います。