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 といったパスを探 そうとして、当然ながら見つからずエラー、という現象になっています。) -- 北島雅博(かとんぼ)