dependências não satisfeitas apt

2

Estou tentando instalar o npm no Ubuntu 14.04. Diz

npm : Depends: node-gyp (>= 0.10.9) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

Eu tentei todas as soluções na internet como o

apt-get update
apt-get upgrade
apt-get dist-upgrade
apt-get install -f
apt-get clean
apt-get autoclean
apt-get autoremove
dpkg --configure -a

mas ainda estou recebendo o mesmo erro.

Quando eu tentei sudo aptitude install npm e ele diz

The following NEW packages will be installed:
  build-essential{a} g++{a} g++-4.8{a} gyp{a} javascript-common{a} libc-ares-dev{a} libc-ares2{a} libc-dev-bin{ab} libc6-dev{ab} libjs-node-uuid{a} libssl-dev{a} 
  libstdc++-4.8-dev{a} libv8-3.14-dev{a} libv8-3.14.5{a} node-abbrev{a} node-ansi{a} node-archy{a} node-async{a} node-block-stream{a} node-combined-stream{a} 
  node-cookie-jar{a} node-delayed-stream{a} node-forever-agent{a} node-form-data{a} node-fstream{a} node-fstream-ignore{a} node-github-url-from-git{a} node-glob{a} 
  node-graceful-fs{a} node-gyp{a} node-inherits{a} node-ini{a} node-json-stringify-safe{a} node-lockfile{a} node-lru-cache{a} node-mime{a} node-minimatch{a} 
  node-mkdirp{a} node-mute-stream{a} node-node-uuid{a} node-nopt{a} node-normalize-package-data{a} node-npmlog{a} node-once{a} node-osenv{a} node-qs{a} 
  node-read{a} node-read-package-json{a} node-request{a} node-retry{a} node-rimraf{a} node-semver{a} node-sha{a} node-sigmund{a} node-slide{a} node-tar{a} 
  node-tunnel-agent{a} node-which{a} nodejs{a} nodejs-dev{a} npm zlib1g-dev{a} 
0 packages upgraded, 62 newly installed, 0 to remove and 10 not upgraded.
Need to get 25.7 MB of archives. After unpacking 73.8 MB will be used.
The following packages have unmet dependencies:
 libc-dev-bin : Depends: libc6 (< 2.20) but 2.24-17 is installed.
 libc6-dev : Depends: libc6 (= 2.19-0ubuntu6.13) but 2.24-17 is installed.
The following actions will resolve these dependencies:

      Keep the following packages at their current version:
1)      build-essential [Not Installed]                    
2)      g++ [Not Installed]                                
3)      g++-4.8 [Not Installed]                            
4)      libc-dev-bin [Not Installed]                       
5)      libc6-dev [Not Installed]                          
6)      libssl-dev [Not Installed]                         
7)      libstdc++-4.8-dev [Not Installed]                  
8)      node-gyp [Not Installed]                           
9)      nodejs-dev [Not Installed]                         
10)     npm [Not Installed]                                
11)     zlib1g-dev [Not Installed]                         

      Leave the following dependencies unresolved:         
12)     node-gyp recommends build-essential                


Accept this solution? [Y/n/q/?'<br/>

Eu não entendo qual é exatamente o problema. Eu também tentei olhar através do gerenciador de pacotes synaptic e não há nada relatado na seção Pacotes quebrados.

Por favor, aconselhe.

    
por user1738234 16.11.2017 / 15:28

1 resposta

2

O pacote NPM que você está tentando instalar vem dos arquivos do Ubuntu Trusty (14.04) e requer uma versão do libc6 que seja mais antiga que a versão 2.20. A versão da libc6 que está nos arquivos confiáveis é a versão 2.19 e caberia na conta.

Seu sistema, no entanto, tem a versão 2.24-17 da libc6, e a fonte dessa biblioteca é um arquivo .deb que você supostamente baixou e instalou porque algo que você queria executar precisava dessa versão mais nova da libc6. Isto é aparentemente de um pacote Debian Wheezy: Nenhum dos arquivos do Ubuntu tem aquela biblioteca em particular. Você pode fazer referência ao link que vai de 2.24-9 a 2.26-0 sem a biblioteca em questão.

Então ...

Você tem duas opções, nenhuma das quais será fácil:

  1. Você pode determinar qual pacote você baixou da Debian e removê-lo, permitindo que seu sistema reinstale o libc6 dos arquivos do Ubuntu. Isso pode quebrar algumas funcionalidades que você tem em seu sistema.
  2. Você pode procurar por uma versão mais nova do npm que funcionará com a libc6 2.24-17, e instalar o pacote que pode instalar bibliotecas adicionais que poderiam quebrar algumas funcionalidades seu sistema.

Dado o prazo desta pergunta, a instalação do npm não parece ser de grande importância para você. Minha sugestão é que você crie uma máquina virtual, se possível, em seu sistema. Então você pode instalar uma versão do linux naquela máquina e usar isso para carregar e executar o npm.

Para referência futura, embora seja possível carregar e instalar pacotes .deb destinados a outras distribuições, nem sempre é aconselhável. Esses pacotes podem ter dependências e bibliotecas que entram em conflito com os pacotes e bibliotecas fornecidos no Ubuntu.

    
por Charles Green 19.11.2017 / 15:40