Qual é a maneira mais simples de baixar uma gema sem instalar rubygems?

6

Eu gostaria de baixar uma gema sem instalar todas as gemas necessárias para uma determinada gema.

Especificamente para a gema Rails 3. Ele tem muitas dependências, e eu preciso instalá-lo em um servidor fechado que atualmente não possui software Ruby / Rake / Rails.

Qualquer pista seria ótima, pois clicar em rubygems.org é tedioso.

tudo bem, deixe-me esclarecer isso um pouco. O que eu gostaria é que isso funcione:

gem install rails --download-only

que resolveria meus problemas, então eu poderia gravar a gem resultante em um disco e movê-los para o meu servidor que não tem acesso à Internet.

    
por Daniel 19.08.2011 / 19:47

4 respostas

13

Para fazer o download de um único uso de gemas (usando o gem alto como exemplo):

gem fetch loudmouth
Fetching: loudmouth-0.2.4.gem (100%)
Downloaded loudmouth-0.2.4

para baixar todas as gemas que seu aplicativo Rails 3 depende da execução:

bundle package

Isso fará o download de todos os gems (e suas dependências) e os colocará no vendor / cache (sem instalá-los).

Você pode gravar todas as gemas no fornecedor / cache em um CD e trazê-las fisicamente para o outro servidor sem acesso à rede.

    
por 18.10.2012 / 19:21
1

Bem, eu odeio responder a minha própria pergunta, mas acho que essa é a solução mais provável para a minha pergunta.

- 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.

A localização desses arquivos em cache gem é muito útil. Se eu tivesse inúmeros gems em minha máquina em rede e não quisesse transportar todas as gemas que eu teria usado

> bundle list

para mostrar as gemas específicas do aplicativo necessárias.

-daniel

    
por 23.08.2011 / 03:55
1

Eu criaria um servidor RubyGems local com todas as gemas necessárias para o aplicativo, incluindo o Rails e suas dependências.

Documentação básica aqui:

  • link

Esta postagem do blog mostra como configurar um servidor interno para o qual você pode enviar Gems para indexação automática:

  • link
por 25.09.2011 / 18:10
0

Infelizmente, você não pode contornar o problema de dependência. Eles são necessários por uma razão; Tentar instalar o Rails sem as dependências necessárias irá resultar em muitos problemas, se o Rails funcionar mesmo.

Você não especificou exatamente o que você quis dizer com "fechado". Se você quer dizer fechado como em você não pode instalar todo o sistema de software, dê uma olhada no RVM , que é um software que permitirá que você crie um auto ambiente de Ruby contido. Você também pode conseguir configurar isso em outro servidor e movê-lo se o servidor não tiver conexão com a Internet. Dê uma olhada e veja se isso ajuda você.

    
por 19.08.2011 / 22:13

Tags