[exerb-dev:0527] Re: `require': No such file to load -- cgi (LoadError) について

Back to archive index

Masahiro Kitajima katon****@katon*****
2008年 4月 22日 (火) 16:50:04 JST


 すっごく遅い応答で済みません。

>1)exerb.bat  script.rb   で作成した場合
<中略>
> C:\Lang\user0>C:\Lang\Ruby\bin\exerb.bat  C:\Lang\user0\_t.rb
> 
> C:\Lang\user0>_t
> _t.rb:1:in `require': No such file to load -- cgi (LoadError)
>         from _t.rb:1

 これは拡張ライブラリを使わず、_t.rb だけで完結する場合の方法で
す。
 _t.exe に 拡張ライブラリ cgi の情報は入っていないので、正しく失
敗した結果、こうなります。


> 2)mkexy.bat  script.rb
>     exerb.bat  script.exy
>     で実行する場合、エラーでexe ファイルは出来ない
<中略>
> C:\Lang\user0>C:\Lang\Ruby\bin\mkexy.bat  C:\Lang\user0\_t.rb
> "& < > \"\n"
> 
> C:\Lang\user0>C:\Lang\Ruby\bin\exerb.bat  C:\Lang\user0\_t.exy
> C:/Lang/Ruby/lib/ruby/site_ruby/1.8/exerb/recipe.rb:146:in `add_file_entry': _t.
> exy: no such file -- C:/Lang/user0/_t.rb (RuntimeError)
>         from C:/Lang/Ruby/lib/ruby/site_ruby/1.8/exerb/recipe.rb:83:in `create_a
> rchive'
>         from C:/Lang/Ruby/bin/exerb.bat:67:in `main'
>         from C:/Lang/Ruby/bin/exerb.bat:196

 こちらの場合は結論から言うと、レシピ・ファイルを作る際に、スク
リプト・ファイルをフルパスではなく、次のように指定すればうまく行
きます。

    C:\Lang\user0>C:\Lang\Ruby\bin\mkexy.bat _t.rb

 C:\Lang\user0>ruby -v が実行できているようなので、もっと短く次
のように実行できるはずです。

    C:\Lang\user0>mkexy _t.rb

 明文化されていませんが、現状では mkexy.bat、exerb.bat が、スク
リプト・ファイル名がフルパスで与えられる事を想定していないのです。

(内部的には、C:/Lang/user0/C:/Lang/user0/_t.rb といったパスを探
そうとして、当然ながら見つからずエラー、という現象になっています。)

-- 
北島雅博(かとんぼ)




exerb-developer メーリングリストの案内
Back to archive index