必要なgemを含むRubyアプリケーションを配布する方法
-
10-07-2019 - |
質問
Rubyアプリケーション(小さなゲーム)を開発しました。他の人に「配布」したいと思います。
ただし、必要なgemについてどうすればよいかわかりません。 rubyがインストールされていて、必要なgemがインストールされていない人にアプリケーションを送信するだけであれば、爆発するでしょう。宝石をローカルにパッケージ化できますか?その場合、他の人が別のバージョンのgemを持っていると競合しますか?
では、これを行うスマート/適切/良い方法は何ですか?
解決
おそらく最善の方法は、ゲームをgemとしてパッケージ化することです。この方法で、rubygemsが依存関係のインストールを処理します。 こちらは、独自の宝石を作成する方法を説明したドキュメントです。
他のヒント
ゲームを宝石としてパッケージ化しない場合は、 Bundler を調査できます。 Rails 3に統合されます。
environment.rbで、gemの依存関係を表現できます。例:
config.gem "activemerchant", :lib => "active_merchant", :version => "1.4.1"
これはgemの依存関係ほど自動ではありませんが、確かに使用できます。ユーザーは、アプリを起動するために sudo rake gems:install
する必要があります。
OSX .dmgおよびWindowsインストーラーを作成する方法を探している場合、 releasy という名前のgemがあります。それはすべてあなたのためにそれを行います、そしてそれはRubyで書かれたGUIアプリをリリースするために特に調整されます。 Rubyとgemのすべての依存関係を単一の実行可能ファイルにバンドルしているため、エンドユーザーは余分なものをインストールする必要がありません。
インストーラーを作成するには、Windows / OSX環境にアクセスする必要があります。