9

稼働中の一部のサーバー(インターネットにアクセスできない)にアクセスできるRubygemsミラーを構築したいので、誰もがそうしているように始めました。

 $ cat gemmirror.config 
 ---
 - from: http://gems.rubyforge.org
 to: /data/rubygems/mirror

 $ gem mirror --config-file=gemmirror.config

ミラーは正常に同期を開始します。わかった。しかし、待ってください、それはhttp://gems.rubyforge.orgのコンテンツ全体をダウンロードします!私はすべての単一の宝石のすべての既存のバージョンを意味します。わお。数時間後、私はまだ「L」の文字で始まる宝石をダウンロードしています...

ミラーが使用するディスク容量は言うまでもありません。

さて、私の質問です。CPAN:: MiniがPerlを許可するように、「ミニ」rubygemsサーバーをセットアップする方法はありますか。そのようなミラーには、すべてのgemの最新バージョンのみが含まれます。これは、人々が望んでいるケースの99.9%にあると思います(少なくとも、これで十分です)。

私はたくさんグーグルで検索しましたが、悲しいことに、それへの参照が見つかりません。

誰かが私にそれをする方法を教えてくれるなら、私はとても感謝しています。

ありがとう!

4

1 に答える 1

1

実際にはあなたが求めているものではありませんが、おそらくこれに取り組む1つの方法は、要求されたときにgemをキャッシュするキャッシングhttpプロキシをセットアップすることです。

イカのようなものが仕事をするはずです。

次に、各クライアントが squid を使用するようにgem プロキシを構成するため、すべての gem ダウンロードが squid を通過し、うまくいけば 99% の確率でキャッシュに保存されます...

バンドラーを使用している場合は、プロキシ設定に問題があるようです:(

于 2011-01-19T08:00:15.730 に答える