プロが教える店舗&オフィスのセキュリティ対策術

RubyでexeファイルをつくるExerbというライブラリをインストールしたいです。

でとりあえずやってみたところどうやらうまいぐあいにインストールできていないようです。
現象としては、普通にExerbの最新版5.30を落として適当なディレクトリに配置

コマンドプロンプトからruby setup.rbでExerb内のsetup.rbファイルを実行するとコマンドライン上でインストールが進みます完了後コマンドプロンプトでexerbを実行しても
内部コマンド~~とお決まりの文章がひょうじされて実行できません。
ruby.exeはパスが通ってるのでPC内のC:/ruby/binの中をみたところexerbファイル(※中身はRubyコード)は存在しますがどうやらexerb.exeファイルが生成?されてないようです。

一応http://sourceforge.jp/projects/exerb/releases/50 …にあるようにRubyコアの
バージョンをあわせて実行したのですがどうしても、うまくいきません。
原因はなんなのでしょうか?

識者の方、ご教授お願いします。

ActiveRubyとかいう実装の方をインスコすればデフォルトで実行できるようなのですが
もともとインストールしていたRubyがrubyinstaller-1.8.7-p330ですので、なんとか
このRubyで実行させたいのです。
よろしくお願いします。

A 回答 (1件)

C:/ruby/binの中にgem.batとかirb.batという名前のバッチファイルがあると思います。


この一つをコピーしてexerb.batという名前のファイルを作成してください。
    • good
    • 0
この回答へのお礼

自己解決しました。ありがとうございました。
以下解決例です。
RubyInstallerでインストールしたRubyに

Rubyスクリプトをexeファイルに変換するExerbをインストールする。

使用するRubyコアは
rubyinstaller-1.8.7-p330.exeを使用。

インストール後、Eexerb5.3.0をダウンロード後
解凍し、適当なフォルダに移動。

コマンドプロンプトで配置したディレクトリに移動後

ruby setup.rb
を実行・・・・・・・・

インストール完了!
とはいかず、うまくインストールできない場合、ちょっとExerb側のファイルに
手を加えることになります。

解凍したExerbファイル内のbinディレクトリ内に
post-setup.rbというファイルがありその中の

if /mswin32/ =~ RUBY_PLATFORMとなっている箇所を修正します。
(※おそらく6行目あたりかと思います。)


if /mswin32|mingw32/ =~ RUBY_PLATFORM
と変更します。
おそらくRUBY_PLATFORMという定数に、OSのバージョン情報当の
インスタンスの参照が入っているのでしょうが、インストールできない場合
OSのバージョン情報などがmingw32となっているのです。

※実際に以下のようにしてrbのソースを実行するとmingw32というのが出力されます。
require "rbconfig.rb";
puts Config::CONFIG['host_os']

そいつを正規表現のパイプでつなげてやってif文の中に入るようにしてやります。

保存して、ようやくコマンドプロンプト上でruby setup.rbを実行します。

ruby本体のディレクトリ内のbinディレクトリ内にexerbという拡張子の無いファイルと
exerb.batおよびmkexyという拡張しの無いファイル、mkexy.batというファイルが存在すれば
インストール成功です。

コマンドプロンプト上でexerbコマンドを打ってみて下さい。
オプジョン情報やヴァージョン情報が表示されます。

お礼日時:2011/09/11 11:28

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!