Ruby - 謎の `require':cannot load such file エラー
Windows環境でさっきまで動いていたプログラムが動かないなぁ、と思ったときの話。LOAD_PATHなど正しく設定してもうまく読み込めなくなってました。
症状
C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require':
cannot load such file -- xxxxxxx (LoadError)
from C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:i
n `require'
from xxxx.rb:9:in `'
使っているのは Ruby-1.9.3 。数時間前まで動いていたのに動かなくなってる。
原因
ファイルパスに日本語が含まれていたから。
上位フォルダ名をうっかり日本語にかえてしまったのでした。
スクリプトコーディングがcp932以外だと発生するようです。
Bug #7881: Windows でパスに日本語を含むスクリプトからの require が失敗する - ruby-trunk - Ruby Issue Tracking System
バグのように思えて実はencodingの挙動の問題で修正がかかるようです。
素直にスクリプトをcp932に替えた方がよいかもしれない。。。

- 作者: まつもとゆきひろ,David Flanagan,卜部昌平(監訳),長尾高弘
- 出版社/メーカー: オライリージャパン
- 発売日: 2009/01/26
- メディア: 大型本
- 購入: 21人 クリック: 356回
- この商品を含むブログ (124件) を見る