2014-10-26 5 views
14

Я использовал этот скрипт для установки программного обеспечения baisc, но мне пришлось перебиваться из-за медленной скорости интернета. Теперь, когда я ударил $ sudo apt-get install npm, я получаю следующее сообщение об ошибкеКак решить «Следующие пакеты имеют неудовлетворенные зависимости»

[email protected]:~$ sudo apt-get installed npm 
E: Invalid operation installed 
[email protected]:~$ sudo apt-get install npm 
Reading package lists... Done 
Building dependency tree  
Reading state information... Done 
Some packages could not be installed. This may mean that you have 
requested an impossible situation or if you are using the unstable 
distribution that some required packages have not yet been created 
or been moved out of Incoming. 
The following information may help to resolve the situation: 

The following packages have unmet dependencies: 
npm : Depends: nodejs but it is not going to be installed 
     Depends: node-abbrev (>= 1.0.4) but it is not going to be installed 
     Depends: node-ansi (>= 0.3.0-2) but it is not going to be installed 
     Depends: node-ansi-color-table but it is not going to be installed 
     Depends: node-archy but it is not going to be installed 
     Depends: node-block-stream but it is not going to be installed 
     Depends: node-fstream (>= 0.1.22) but it is not going to be installed 
     Depends: node-fstream-ignore but it is not going to be installed 
     Depends: node-github-url-from-git but it is not going to be installed 
     Depends: node-glob (>= 3.1.21) but it is not going to be installed 
     Depends: node-graceful-fs (>= 2.0.0) but it is not going to be installed 
     Depends: node-inherits but it is not going to be installed 
     Depends: node-ini (>= 1.1.0) but it is not going to be installed 
     Depends: node-lockfile but it is not going to be installed 
     Depends: node-lru-cache (>= 2.3.0) but it is not going to be installed 
     Depends: node-minimatch (>= 0.2.11) but it is not going to be installed 
     Depends: node-mkdirp (>= 0.3.3) but it is not going to be installed 
     Depends: node-gyp (>= 0.10.9) but it is not going to be installed 
     Depends: node-nopt (>= 3.0.1) but it is not going to be installed 
     Depends: node-npmlog but it is not going to be installed 
     Depends: node-once but it is not going to be installed 
     Depends: node-osenv but it is not going to be installed 
     Depends: node-read but it is not going to be installed 
     Depends: node-read-package-json (>= 1.1.0) but it is not going to be installed 
     Depends: node-request (>= 2.25.0) but it is not going to be installed 
     Depends: node-retry but it is not going to be installed 
     Depends: node-rimraf (>= 2.2.2) but it is not going to be installed 
     Depends: node-semver (>= 2.1.0) but it is not going to be installed 
     Depends: node-sha but it is not going to be installed 
     Depends: node-slide but it is not going to be installed 
     Depends: node-tar (>= 0.1.18) but it is not going to be installed 
     Depends: node-underscore but it is not going to be installed 
     Depends: node-which but it is not going to be installed 
E: Unable to correct problems, you have held broken packages. 
+5

Не на форуме, попробуйте http://askubuntu.com/ –

ответ

13

команда для Ubuntu исправить неудовлетворенные зависимости и сломанные пакеты является

sudo apt-get install -f 

со страницы человека:

-f , --fix-broken Fix; попытайтесь исправить систему со сломанными зависимостями. Эта опция при использовании с установкой/удалением может опускать любые пакеты , чтобы позволить APT вывести вероятное решение. Если указаны пакеты , они должны полностью исправить проблему. Опция иногда необходима при запуске APT в первый раз; APT сам по себе не позволяет разбивать пакеты на наличие системы . Вполне возможно, что структура зависимостей в системе может быть настолько нарушена, что потребуется ручное вмешательство (что обычно означает с использованием Dselect (1) или DPKG --remove устранить некоторые из пакетов обижая)

Ubuntu будет попытайтесь исправить себя, когда вы запустите команду. Когда он завершится, вы можете проверить, если он работал, снова запустив команду, и вы должны получить результат, похожий на:

Чтение списков пакетов ... Готово дерева зависимостей Чтение информация о состоянии Строительство ... Готово 0 обновлено, 0 вновь установлено, 0 удалено и 2 не обновлено.

+0

спасибо! 'sudo apt-get install -f' исправил его. – yask

+1

в моем случае 'sudo apt-get -f remove' удалил сломанный пакет – cagatayodabasi

+0

Вот моя ошибка даже с приведенной выше командой :: – harrypotter0

-6

Узел поставляется с номером npm, поэтому вы должны иметь версию npm. Однако npm обновляется чаще, чем Node, поэтому вам нужно убедиться, что это последняя версия.

Попробуйте

sudo npm install npm -g 
21

Если sudo apt-get install -f <package-name> не работает, попробуйте способность:

sudo apt-get install aptitude 
sudo aptitude install <package-name> 

Склонность будет пытаться решить эту проблему.

В качестве примера, в моем случае, я все еще получаю ошибку при попытке установить libcurl4-openssl-dev:

sudo apt-get install -f libcurl4-openssl-dev 

Так я стараюсь способности, получается, что я должен понизить некоторые пакеты.

The following actions will resolve these dependencies: 

    Keep the following packages at their current version: 
    1)  libyaml-dev [Not Installed]       

Accept this solution? [Y/n/q/? (n) 

The following actions will resolve these dependencies: 

    Downgrade the following packages:         
    1)  libyaml-0-2 [0.1.4-3ubuntu3.1 (now) -> 0.1.4-3ubuntu3 (trusty)] 

Accept this solution? [Y/n/q/?] (Y) 
+3

aptitude сделал трюк для меня. Пришлось попробовать пару решений от первоначального, но в итоге он попал туда. Отличный совет !! – Stan

+0

aptitude может повредить всю систему, используя apt и aptitude вместе, возможно, удалите все пакеты, если вы не используете достаточно тщательно! –

+0

У меня была очень грязная проблема зависимости. Пробовал много команд с apt-get, включая -f install, безрезультатно. Простая установка «sudo aptitude install» полностью разрешила проблему. – timeon

6

Установка nodejs установит НПМ ...так что просто удалить nodejs затем установить его заново: $ Судо APT-получить удалить nodejs

$ sudo apt-get --purge remove nodejs node npm 
$ sudo apt-get clean 
$ sudo apt-get autoclean 
$ sudo apt-get -f install 
$ sudo apt-get autoremove 
1

Прежде всего попробуйте это

sudo apt-get update 
sudo apt-get clean 
sudo apt-get autoremove 

Если ошибка все еще сохраняется, то сделать это

sudo apt --fix-broken install 
sudo apt-get update && sudo apt-get upgrade 
sudo dpkg --configure -a 
sudo apt-get install -f 

После попробуйте еще раз: sudo apt-get install npm

Но если он по-прежнему не может решить проблемы, проверьте наличие зависимостей с помощью sudo dpkg --configure -a и удалите их один за другим. Скажем зависимости на НОМ затем пойти на это,

sudo apt-get remove nodejs 

sudo apt-get remove npm 

Затем перейдите к /etc/apt/sources.list.d и удалите список узлов, если у вас есть. Затем сделать

sudo apt-get update 

Затем проверьте проблемы зависимостей снова используя sudo dpkg --configure -a и если все понятно, то вы сделали. Позже установить НПМ еще раз с помощью

v=8 # set to 4, 5, 6, ... as needed 
curl -sL https://deb.nodesource.com/setup_$v.x | sudo -E bash - 

Затем установите пакет Node.js.

sudo apt-get install -y nodejs 
Смежные вопросы