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

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

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

Especificamente para a jóia Rails 3. Ele tem muitas dependências e 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 é entediante.

ok, deixe-me esclarecer um pouco isso. O que eu gostaria é que isso funcionasse:

gem instalar trilhos --download-only

o que resolveria meus problemas, pois eu poderia gravar as joias resultantes em um disco e movê-las para o meu servidor que não tem acesso à Internet.

Responder1

Para baixar uma única gema use (usando a gema alto como exemplo):

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

para baixar todas as gems das quais seu aplicativo Rails 3 depende, execute:

bundle package

Isso fará o download de todas as gemas (e suas dependências) e as colocará no fornecedor/cache (sem instalá-las).

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

Responder2

Bem, odeio responder à minha própria pergunta, mas acho que esta é 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 armazenados em cache de gemas é muito útil. Se eu tivesse inúmeras joias em minha máquina em rede e não quisesse transportar todas as joias, eu teria usado

> bundle list

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

-daniel

Responder3

Eu criaria um servidor RubyGems local com todas as gems necessárias para a aplicação, incluindo Rails e suas dependências.

Documentação básica aqui:

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

Responder4

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

Você não especificou exatamente o que quis dizer com fechado. Se você quer dizer fechado, pois não é possível instalar software em todo o sistema, dê uma olhada emRVM, que é um software que permitirá criar um ambiente Ruby independente. 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 te ajuda.

informação relacionada