私はRubyアプリケーション(小さなゲーム)を開発しました。それを他の人に「配布」したいと思います。
しかし、必要な宝石についてどうしたらよいかわかりません。ルビーをインストールしているが、必要なgemがインストールされていない人にアプリケーションを送信した場合、それは爆発すると思います。宝石をローカルにパッケージ化できますか?もしそうなら、他の人が別のバージョンの宝石を持っている場合、それは競合しますか?
それで、これを行うための賢い/適切な/良い方法は何ですか?
私はRubyアプリケーション(小さなゲーム)を開発しました。それを他の人に「配布」したいと思います。
しかし、必要な宝石についてどうしたらよいかわかりません。ルビーをインストールしているが、必要なgemがインストールされていない人にアプリケーションを送信した場合、それは爆発すると思います。宝石をローカルにパッケージ化できますか?もしそうなら、他の人が別のバージョンの宝石を持っている場合、それは競合しますか?
それで、これを行うための賢い/適切な/良い方法は何ですか?
おそらく最善の方法は、ゲームをgemとしてパッケージ化することです。そうすれば、rubygemsが依存関係のインストールを処理します。独自のgemを作成する方法を説明するドキュメントは次のとおりです。
ゲームをgemとしてパッケージ化したくない場合は、 Rails3に統合されるBundlerを調べることができます。
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環境にアクセスする必要があります。