Rubyアプリケーション(バッチジョブ)をパッケージ化して、他のユーザーに配布する必要があります。理想的には、Rubyをセットアップするためにユーザーを必要とせず、パッケージにはすべての依存関係が含まれている必要があります。
これを行う簡単な方法はありますか?Rubyv1.9.3を使用しています。
Rubyアプリケーション(バッチジョブ)をパッケージ化して、他のユーザーに配布する必要があります。理想的には、Rubyをセットアップするためにユーザーを必要とせず、パッケージにはすべての依存関係が含まれている必要があります。
これを行う簡単な方法はありますか?Rubyv1.9.3を使用しています。
あなたの質問は明確ではないので、次のことが当てはまると思います。
それを考えると、あなたの最善の策はおそらく「オクラ」の宝石でしょう。これを使用すると、を使用してスクリプトを.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とアプリケーションをパッケージ化するインストーラーを構築することです。