特定の宝石に必要なすべての宝石をインストールせずに宝石をダウンロードしたいのですが。
特にRails 3 gem。依存関係がたくさんあるので、現在Ruby/rake/Railsソフトウェアがないクローズドサーバーにインストールする必要があります。
Rubygems.orgをクリックするのは面倒なので、手がかりはあれば素晴らしいでしょう。
さて、これを少し明確にしましょう。私が欲しいのはこれが機能することです:
gem install Rails-download-only
これで問題が解決し、結果の宝石をディスクに書き込んで、インターネットにアクセスできないサーバーに移動できるようになりました。
単一のgemをダウンロードするには(例としてloudmouth gemを使用):
gem fetch loudmouth
Fetching: loudmouth-0.2.4.gem (100%)
Downloaded loudmouth-0.2.4
Rails 3アプリが実行に依存するすべての宝石をダウンロードするには:
bundle package
これにより、すべてのgem(およびそれらの依存関係)がダウンロードされ、ベンダー/キャッシュに配置されます(インストールせずに)。
次に、ベンダー/キャッシュ内のすべてのgemをCDに書き込み、ネットアクセスなしで他のサーバーに物理的に持ち込むことができます。
まあ、私は自分の質問に答えるのは嫌いですが、これが私の質問の解決策である可能性が最も高いと思います。
- find network enabled machine
- install Rails and all needed gems using RubyGems.
- tar/Zip /usr/lib[64]/Ruby/gem/1.9.1/cache/*.gem
- transport tar file to non-networked computer.
それらのgemキャッシュファイルの場所は非常に便利です。ネットワーク化されたマシンに多数の宝石があり、使用したであろうすべての宝石を輸送したくない場合
> bundle list
必要なアプリケーション固有の宝石を表示します。
-ダニエル
Railsとその依存関係を含む、アプリケーションに必要なすべてのgemを含むローカルRubyGemsサーバーを作成します。
ここに基本的なドキュメント:
このブログ投稿は、自動インデックス作成のためにGemsを送信できる内部サーバーを設定する方法を示しています。
残念ながら、依存関係の問題を回避することはできません。それらは理由のために必要です。依存関係を必要とせずにRailsをインストールしようとすると、Railsがまったく実行されても、多くの問題が発生します。
クローズの意味を正確に指定していません。システム全体のソフトウェアをインストールできないなど、閉鎖を意味する場合は、 [〜#〜] rvm [〜#〜] を参照してください。これは、自己完結型のRuby環境。サーバーがインターネットに接続されていない場合は、これを別のサーバーに設定して移動することもできます。それを見て、これがあなたを助けるかどうか見てください。