невстреченные склонные зависимости

Я пытаюсь установить npm на Ubuntu 14.04. Это говорит

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.

Я попробовал все решения в Интернете как

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

но тем не менее я получаю ту же ошибку.

Когда я попробовал sudo aptitude install npm и это говорит

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/>

Я не понимаю то, что точно является проблемой. Я также пытался просмотреть синаптический диспетчер пакетов и нет ничего, сообщил в Поврежденном разделе пакетов.

Любезно советуйте.

2
задан 16 November 2017 в 17:31

1 ответ

Пакет NPM, который Вы пытаетесь установить, прибывает от Надежного человека Ubuntu (14.04) архивы и требует версии libc6, который является более старым, чем версия 2.20. Версия libc6, который находится в испытанных архивах, является версией 2.19 и отвечала бы всем требованиям.

Ваша система однако имеет версию 2.24-17 libc6, и источник той библиотеки является .deb файлом, который Вы, по-видимому, загрузили и установили, потому что что-то, что Вы хотели выполнить необходимый что более новая версия libc6. Это, по-видимому, от Хрипящего пакета Debian: Ни один из архивов Ubuntu не имеет ту конкретную библиотеку. Можно сослаться на http://archive.ubuntu.com/ubuntu/pool/main/g/glibc/, идет от 2.24-9 до 2.26-0 без рассматриваемой библиотеки.

Так...

У Вас есть два варианта, ни один из которых не будет легким:

  1. Можно определить, какой пакет Вы загрузили с Debian, и удалите его, позволив Вашей системе переустановить libc6 из архивов Ubuntu. Это может повредить некоторую функциональность, которую Вы имеете в своей системе.
  2. Можно искать более новую версию npm, который будет работать с libc6 2.24-17 и устанавливать тот пакет, который может установить дополнительные библиотеки, которые могли повредить некоторую функциональность в системе.

Учитывая период времени этого вопроса, устанавливая npm, кажется, не имеет высокое значение для Вас. Мое предложение было бы то, что Вы создаете виртуальную машину, если это возможно, в Вашей системе. Затем можно установить версию Linux на той машине и использовании что загрузить и выполнить npm.

Для дальнейшего использования, хотя возможно загрузиться, и устанавливать .deb пакеты, предназначенные для других дистрибутивов, это не всегда желательно. Эти пакеты могут иметь зависимости и библиотеки, которые конфликтуют с пакетами и библиотеками, обеспеченными в Ubuntu.

2
ответ дан 2 December 2019 в 03:35

Другие вопросы по тегам:

Похожие вопросы: