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.