From: Tanaka Akira Date: 2009-02-28T01:11:17+09:00 Subject: [ruby-dev:38105] ruby in non-existing directory カレントディレクトリが存在しないとき、ruby -e '' が以下のようにエラーになります。 % cd /tmp % mkdir foo % cd foo % rmdir ../foo % ruby -ve '' ruby 1.9.2dev (2009-02-28 trunk 22669) [i686-linux] :3:in `require': No such file or directory - getcwd (Errno::ENOENT) from :3:in `block in ' from :1:in `each' from :1:in `' これのきっかけは、起動時に行われる (enc/encdb の) require で すが、getcwd の失敗はカレントディレクトリからの検索を行わな いだけ済ますのがいいのではないのかと思います。 なお、miniruby -e '' なら (require が行われないので) エラー になりません。 % /home/ruby/191p0/ruby-1.9.1-p0/miniruby -e '' しかし、miniruby -e 'require "tmpdir"' と、存在するライブラ リを指定した場合、1.8 ではエラーにならないのに、1.9 ではエラー になります。 % /home/ruby/187p72/ruby-1.8.7-p72/miniruby -e 'require "tmpdir"' % /home/ruby/191p0/ruby-1.9.1-p0/miniruby -e 'require "tmpdir"' -e:1:in `require': No such file or directory - getcwd (Errno::ENOENT) from -e:1:in `
' -- [田中 哲][たなか あきら][Tanaka Akira]