Pergunta

Eu tenho um aplicativo Rails que eu preciso para implantar. Aqui estão os fatos:

  • O aplicativo foi desenvolvido em Windows e requer o Windows gemas binários
  • O aplicativo é para ser implantado em um Open Solaris servidor (Joyent) compartilhada
  • Eu não tenho permissões para instalar pedras preciosas no servidor
  • Para as gemas não-binários, eu posso simplesmente fazer um rake gems:unpack localmente e, em seguida, fazer upload; isso funciona muito bem.

Assim, a minha pergunta é: como faço para obter o binário gemas que eu preciso para o meu servidor de produção?

Foi útil?

Solução

  • O aplicativo foi desenvolvido em Windows e requer o Windows gemas binários
  • O aplicativo é para ser implantado em um Open Solaris servidor (Joyent) compartilhada

Você percebe que você não pode executar binários do Windows no Solaris abertos. Windows é na verdade inteiramente diferente do solaris ...

Se as pedras são de um terceiro, você pode ser capaz de baixar versões binárias pré-embalados para solaris que alguém produziu. Você pode, em seguida, colocá-los no diretório do fornecedor e carregá-los de lá em vez de instalar uma jóia.

Se você não pode obter binários pré-embalados para solaris, você vai precisar para obter a sua própria máquina solaris (usando o Virtual PC, VMWare, VirtualBox, etc), usá-lo para compilar as gemas, em seguida, puxe os arquivos binários a.

Se você de fato só tem código-fonte que funciona no Windows (por exemplo: você construiu você mesmo, ou a pessoa que prestou a gema concebido apenas para trabalhar no windows), você está ferrado. Você terá que encontrar um substituto multi-plataforma.

Seria bom se você pudesse nos dizer qual jóias que você está falando, para que as pessoas poderiam ajudar a rastrear uma solução mais específica, e explicar exatamente o que está acontecendo.

Outras dicas

Solicitar que o administrador do servidor compartilhado instalar as pedras preciosas para você. Se eles são pedras preciosas "padrão" disponível a partir de um domínio respeitável, ele realmente não deve ser esse negócio um grande, o meu provedor de servidor compartilhado faz isso o tempo todo.

As gemas binários são o verdadeiro problema. Para todas as outras jóias que você pode usar o diretório vendor/gems (só é possível com Rails 2.1 +).

Vendor tudo.

Isto faz duas coisas. Não faz o seu implementável aplicativo sem depender de gemas sistema instalado e em segundo lugar que congela uma versão específica de uma jóia para sua aplicação. Então, se outra pessoa cheques alguém que fora de sua ferramenta de SCM, eles não têm uma incompatibilidade de versão e será instalado e funcionando sem problemas.

Boa sorte!

Você provavelmente terá que usar um cross-compilador para direcionar Solaris que é executado no Windows.

Construção cross-compiladores é geralmente um processo propenso difícil e erro. Eu tenho feito isso antes e a complexidade não é para os fracos de coração. Idealmente, você vai encontrar alguém com acesso a um Solaris build-máquina e tê-los criar o binário para você.

Se você tem que ir com a rota cross-compiler, eu suspeito que a solução será instalar cygwin e usar seus acúmulos de ferramentas para criar um solaris hospedado-cygwin cross-compilador. Eu sugeriria olhar para o href="http://www.kegel.com/crosstool/" rel="nofollow noreferrer"> crosstool projeto que irá fornecê-lo com scripts que lidar com alguns dos detalhes para você.

scroll top