0

Rubyアプリケーション(バッチジョブ)をパッケージ化して、他のユーザーに配布する必要があります。理想的には、Rubyをセットアップするためにユーザーを必要とせず、パッケージにはすべての依存関係が含まれている必要があります。

これを行う簡単な方法はありますか?Rubyv1.9.3を使用しています。

4

1 に答える 1

3

あなたの質問は明確ではないので、次のことが当てはまると思います。

  • あなたとあなたのユーザーはWindowsを使用しています
  • これは、依存関係がほとんどない短いスクリプトです

それを考えると、あなたの最善の策はおそらく「オクラ」の宝石でしょう。これを使用すると、を使用してスクリプトを.exeにパッケージ化できますocra <script>.rb。これにより、Rubyランタイム、スクリプトが使用するgem、およびソースが次の<script>.exeようにファイルにバンドルされます。

    C:\Users\Walton>cat hello.rb
    puts 'Hello World!'

    C:\Users\Walton>ocra hello.rb
    === Loading script to check dependencies
    Hello World!
    C:/Ruby193/lib/ruby/gems/1.9.1/gems/ocra-1.3.0/bin/ocra:467: Use RbConfig instead of obsolete and deprecated Config.
    === Including 52 encoding support files (5179608 bytes, use --no-enc to exclude)

    === Building hello.exe
    === Adding user-supplied source files
    === Adding ruby executable ruby.exe
    === Adding library files
    === Compressing 14898286 bytes
    === Finished building hello.exe (3261400 bytes)

    C:\Users\Walton>hello.exe
    Hello World!

既存のrubyランタイムがパッケージ化されているため、実行可能ファイルが32ビットプラットフォームと64ビットプラットフォームの両方で実行できるようにするには、おそらく32ビットRubyを実行する必要があります。

ocraが提供できる以上のものが必要な場合、最善の策は、Rubyとアプリケーションをパッケージ化するインストーラーを構築することです。

于 2012-08-13T01:26:04.733 に答える