Manter um espelho local de Rubygems.org

Se você está em algo que se assemelha a uma grande empresa, provavelmente tem firewalls (excessivamente) restritivos e outras travessuras para fazer algo simples como atualizar seu sistema operacional ou instalar uma gema. Isso requer a configuração de espelhos locais em servidores aprovados para várias coisas.

Se você já tentou fazer um espelho de Rubygems, você sabe que isto:

A) Ocupa uma tonelada de disco

e

B) Não funciona direito.

Não funciona direito porque a versão principal do espelho gem tenta construir os arquivos de índice por si só – e considerando que estamos falando de centenas de milhares de joias (totalizando cerca de 200 gigabytes), você rapidamente atinge os limites do próprio Ruby em memória e outros recursos do sistema.

A correção para isso é usar uma versão corrigida do rubygems-mirror que simplesmente pega os arquivos de índice fornecidos.

https://github.com/huacnlee/rubygems-mirror

Configure isso de acordo com as instruções e você terá seu espelho algumas horas depois 🙂