質問: CentOS 6.4 にて rbenv 0.4.0-74-g95a039a を使っています。 ruby コマンドのオプション、`--debug` を使うと Exceptionメッセージが表示されるので、回避方法があればご教示願います。 ``` $ ruby -d -e 'p $DEBUG' Exception `LoadError' at /home/foo/.rbenv/versions/2.1.1/lib/ruby/2.1.0/rubygems.rb:1194 - cannot load such file -- rubygems/defaults/operating_system Exception `LoadError' at /home/foo/.rbenv/versions/2.1.1/lib/ruby/2.1.0/rubygems.rb:1203 - cannot load such file -- rubygems/defaults/ruby true ``` 尚、1.9.3 の環境も同様で、1.8 だと期待する結果になりました。 ``` $ rbenv local 1.8.7 $ ruby -d -e 'p $DEBUG' true ```
回答: ドキュメント variable $-d > > 例外を捕捉しているかどうかに関係なく、 例外が発生した時点で $stderr にそれが出力されます。 スクリプトの処理は続行されます。 > > > `rubygems.rb`を見ると表示されている2件のLoadErrorは捕捉して無視されているのですが`-d`のせいで表示されてしまっています。 表示されているだけで害はないので現状は無視するしかないのではないでしょうか。 # 該当のrequire 2件を消すとか、呼ばれているファイルを空で作ってしまうか、とも考えましたが副作用があるかもしれないので具体的な方法は書きません。