[#49193] [ANN] Ruby 2.0.0-p0 released — Yusuke Endoh <mame@...>

こんにちは。Ruby 2.0.0-p0 をリリースします。

14 messages 2013/02/24
[#49196] [ANN]Ruby-2.0.0-p0 mswin32版 MSI was Re: [ANN] Ruby 2.0.0-p0 released — arton <artonx@...> 2013/02/24

artonです。

[#49216] Windows用 インストーラ無しパッケージの需要について (Re: [ANN]Ruby-2.0.0-p0 mswin32版 MSI was Re: [ANN] Ruby 2.0.0-p0 released) — Takeshi Iogawa <alpha@246.ne.jp> 2013/02/27

いおがわと申します。 Ruby2.0の正式リリースおめでとうございます。

[ruby-list:49186] 日本語を含むパスに置いたスクリプトで require が失敗

From: "5.5" <5.5@...>
Date: 2013-02-15 07:47:51 UTC
List: ruby-list #49186
5.5 と申します。

Ruby 1.9.3 のどのパッチレベルからだったかはっきりしませんが,
Windows でパスに日本語を含むスクリプトからの require が失敗
するようになりました。

【再現手順】
[1] d:/テスト というフォルダーを作る。
[2] d:/テスト/a.rb に
# encoding: utf-8
require "./b"
と書く。
[3] d:/テスト/b.rb に
# encoding: utf-8
puts "No problem."
と書く。
[4] cd /テスト
[5] ruby a.rb

これで,

cannot load such file -- ./b (LoadError)

が出ます。

フォルダー名を「テスト」から「test」に変えると正常に動作します。
また。a.rb のエンコーディングを CP932 に変えると正常に動作します。
標準添付ライブラリーや gem はふつうに require できます。

上記テストは以下で行いました。

ruby 1.9.3p385 (2013-02-06) [i386-mingw32]

このような現象が起こるようになったのは,はっきり覚えていませんが,
1.9.3 p286 あたりからではなかったかと思います。
1.9.3 p125 では正常に動作します。

何か対処法がありますか?

いちおう

require File.dirname(File.absolute_path(__FILE__))+"/b"

のようにすれば require できることがさきほど分かりました。
が,もう少しまともな方法が…。



In This Thread

Prev Next