Ruby: Problema com versões diferentes

1

Eu postei esta pergunta antes, mas eu tinha 11.04, que não é supprted. Então agora eu atualizei para 11,10, mas ainda assim o problema não está resolvido.
Eu quero usar ruby 1.9.1. O problema que estou enfrentando é mostrado abaixo. Eu queria que alguém pudesse me ajudar.

  

$ cat / etc / lsb-release
  DISTRIB_ID = Ubuntu
  DISTRIB_RELEASE = 11,10
  DISTRIB_CODENAME = onírico
  DISTRIB_DESCRIPTION="Ubuntu 11.10"

     

$ sudo apt-get instalar ruby1.9.1-full
  Lendo listas de pacotes ... Concluído
  Construindo árvore de dependências
  Lendo informações do estado ... Concluído
  ruby1.9.1-full já é a versão mais recente.
  0 atualizado, 0 recém-instalado, 0 para remover e 19 não atualizado.

     

$ update-alternatives --config ruby
  update-alternatives: erro: nenhuma alternativa para ruby.

     

$ ruby -v
  ruby 1.8.7 (2010-08-16 patchlevel 302) [i686-linux]

     

$ que ruby1.9.1
  /usr/bin/ruby1.9.1

    
por Mike 11.12.2012 / 18:47

2 respostas

2

Você pode achar o rvm útil. RVM é um programa de linha de comando que permite gerenciar várias versões do Ruby. Se você estiver interessado, pode ler mais sobre aqui .

Se você quiser apenas se livrar do Ruby 1.8.1, execute o seguinte comando: sudo apt-get remove ruby1.8

    
por Aaron Hill 11.12.2012 / 20:36
1

Aaron está correto, estou adicionando esta resposta para elaborar um pouco e fornecer mais detalhes.

Isso é uma coisa enorme em terra Rails, e grande (embora não tão ruim) em terra de rubi.

A versão do sistema do ruby deve ser 1.8 ou alguns aplicativos instalados falharão. Existem alguns aplicativos de interface do usuário que usam ruby. No entanto 1.9 é o novo caminho a percorrer, então você mais provavelmente iria querer usá-lo em novos projetos (sejam eles trilhos ou puro rubi).

Se você desenvolver um aplicativo, o Ruby Version Manager deve atender às suas necessidades. Você pode fazer o download e instalá-lo neste site . MAS se você está tentando usar o 1.9 que foi empacotado para / com o Ubuntu, o RVM NÃO FUNCIONARÁ

O RVM só é carregado no seu ambiente. Geralmente apenas em seu ambiente de linha de comando (embora isso não tenha que ser verdade). Ele compila o ruby da fonte e não usa versões empacotadas. Novamente, essa é a maneira aceita de usar o ruby para desenvolvimento, não como usuário ou consumidor, ou em produção.

Se um aplicativo que você deseja executar requerer ruby, você deve ser capaz de fornecer um caminho ruby. Se o aplicativo em questão for criado para o Ubuntu, a instalação desse aplicativo deverá ser tudo o que você precisa.

Se você trabalha com trilhos

Não use o sistema Ruby nem as gemas de trilhos embalados. Eles estão totalmente e completamente errados para o desenvolvimento. Em vez disso, use o RVM + bundler + gemsets para gerenciar sua configuração. Em caixas de produção você normalmente usaria apenas bundler.

Se você está trabalhando com o ruby

Não use o sistema ruby ou gems empacotados. rvm + gemsets são o caminho aceito para construir novos projetos. Na produção, isso fica mais complicado dependendo dos alvos.

Se você implantar os aplicativos do Ruby

Em seguida, você precisa executar sua suíte de testes nas versões individuais do sistema que você conhece. No nível do patch de ruby é importante e você precisa certificar-se de que o código funciona ou é implementado com um ruby funcional.

Plugue sem vergonha

As instruções para compilar um ruby em funcionamento a partir da fonte podem ser encontradas no meu site . Observe que é para servidores de produção e destina-se a ser usado em ambientes de trilhos. Mas você deve começar se você decidir compilar.

TL; DR;

  • RVM + gemsets = desenvolvendo aplicativos Ruby
  • RVM + bundler + gemsets = desenvolvendo aplicativos de rails
  • bundler (e uma versão específica cumprida de ruby) = aplicativos de trilhos de produção
  • sistema ruby + muitos testes = produção de aplicativos ruby
por coteyr 11.12.2012 / 21:01