Como instalar um pacote maior ou igual a uma versão específica

1

Um script requer uma versão em ruby maior ou igual a 1,9. Como faço para traduzir isso para o comando apt? Tentei abaixo, não funciona:

 % sudo apt-get install "ruby ( >= 1.9.1 )"
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package ruby ( >


 % sudo apt-get install "ruby>=1.9.1"      
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package ruby>
    
por balki 18.05.2017 / 23:34

1 resposta

2

apt não suporta a especificação de intervalos de versão para instalar um pacote. Você só pode especificar a versão exata que deseja ou omitir a versão para que ela decida automaticamente.

Para descobrir quais versões de um pacote estão disponíveis para você, a saída de

apt policy PACKAGENAME

será útil, por ex. para ruby em 16.04:

ruby:
  Installed: (none)
  Candidate: 1:2.3.0+1
  Version table:
     1:2.3.0+1 500
        500 http://ftp.uni-stuttgart.de/ubuntu xenial/main amd64 Packages
        500 http://ftp.uni-stuttgart.de/ubuntu xenial/main i386 Packages

A versão acima corresponde ao Ruby 2.3 entre.

Portanto, neste exemplo, você pode instalar o ruby para permitir que o sistema escolha automaticamente a única versão disponível ou pode especificá-lo explicitamente como ruby=1:2.3.0+1 .

O comando para instalar o pacote desejado será um dos

sudo apt install PACKAGENAME
sudo apt install PACKAGENAME=VERSION
    
por Byte Commander 18.05.2017 / 23:52