E: impossibile correggere i problemi, hai conservato pacchetti rotti


112

Sto usando Ubuntu 13.04 che ho installato pochi giorni fa. Sto cercando di installare nodejse npm. Ho provato prima a installare dalla riga di comando e poi ho disinstallato. Poi qualcosa si è rotto.

sudo apt-get install -f nodejs 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:
 nodejs : Conflicts: npm
E: Unable to correct problems, you have held broken packages.

L'output di /etc/apt/sources.listè inferiore:

# deb cdrom:[Ubuntu 13.04 _Raring Ringtail_ - Release amd64 (20130424)]/ raring main restricted

# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
# newer versions of the distribution.
deb http://in.archive.ubuntu.com/ubuntu/ raring main restricted
deb-src http://in.archive.ubuntu.com/ubuntu/ raring main restricted

## Major bug fix updates produced after the final release of the
## distribution.
deb http://in.archive.ubuntu.com/ubuntu/ raring-updates main restricted
deb-src http://in.archive.ubuntu.com/ubuntu/ raring-updates main restricted

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team. Also, please note that software in universe WILL NOT receive any
## review or updates from the Ubuntu security team.
deb http://in.archive.ubuntu.com/ubuntu/ raring universe
deb-src http://in.archive.ubuntu.com/ubuntu/ raring universe
deb http://in.archive.ubuntu.com/ubuntu/ raring-updates universe
deb-src http://in.archive.ubuntu.com/ubuntu/ raring-updates universe

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu 
## team, and may not be under a free licence. Please satisfy yourself as to 
## your rights to use the software. Also, please note that software in 
## multiverse WILL NOT receive any review or updates from the Ubuntu
## security team.
deb http://in.archive.ubuntu.com/ubuntu/ raring multiverse
deb-src http://in.archive.ubuntu.com/ubuntu/ raring multiverse
deb http://in.archive.ubuntu.com/ubuntu/ raring-updates multiverse
deb-src http://in.archive.ubuntu.com/ubuntu/ raring-updates multiverse

## N.B. software from this repository may not have been tested as
## extensively as that contained in the main release, although it includes
## newer versions of some applications which may provide useful features.
## Also, please note that software in backports WILL NOT receive any review
## or updates from the Ubuntu security team.
deb http://in.archive.ubuntu.com/ubuntu/ raring-backports main restricted universe multiverse
deb-src http://in.archive.ubuntu.com/ubuntu/ raring-backports main restricted universe multiverse

deb http://security.ubuntu.com/ubuntu raring-security main restricted
deb-src http://security.ubuntu.com/ubuntu raring-security main restricted
deb http://security.ubuntu.com/ubuntu raring-security universe
deb-src http://security.ubuntu.com/ubuntu raring-security universe
deb http://security.ubuntu.com/ubuntu raring-security multiverse
deb-src http://security.ubuntu.com/ubuntu raring-security multiverse

## Uncomment the following two lines to add software from Canonical's
## 'partner' repository.
## This software is not part of Ubuntu, but is offered by Canonical and the
## respective vendors as a service to Ubuntu users.
# deb http://archive.canonical.com/ubuntu raring partner
# deb-src http://archive.canonical.com/ubuntu raring partner

## This software is not part of Ubuntu, but is offered by third-party
## developers who want to ship their latest software.
deb http://extras.ubuntu.com/ubuntu raring main
deb-src http://extras.ubuntu.com/ubuntu raring main

L'output di /etc/apt/sources.list.d/*è inferiore:

deb http://ppa.launchpad.net/chris-lea/node.js/ubuntu raring main
# deb-src http://ppa.launchpad.net/chris-lea/node.js/ubuntu raring main
### THIS FILE IS AUTOMATICALLY CONFIGURED ###
# You may comment out this entry, but any other modifications may be lost.
deb http://dl.google.com/linux/chrome/deb/ stable main
### THIS FILE IS AUTOMATICALLY CONFIGURED ###
# You may comment out this entry, but any other modifications may be lost.
deb http://dl.google.com/linux/chrome/deb/ stable main
### THIS FILE IS AUTOMATICALLY CONFIGURED ###
# You may comment out this entry, but any other modifications may be lost.
deb http://dl.google.com/linux/chrome/deb/ stable main
deb http://deb.opera.com/opera/ stable non-free
deb http://deb.opera.com/opera/ stable non-free
deb http://deb.opera.com/opera/ stable non-free
deb http://deb.opera.com/opera/ stable non-free

1
Non sono sicuro di quale sia la domanda, tuttavia questo può aiutarti Vai al gestore di pacchetti sinaptici. Modifica> Correggi pacchetti rotti.
danijelc,

quando faccio 'gksudo sinaptico' non succede nulla
John Qualis,

2
Devi installarlo primasudo apt-get update sudo apt-get upgrade sudo apt-get install synaptic
danijelc,

Un altro modo per ottenere un errore simile (anche se apparentemente non per l'OP) è impostare APT::Default-Release. Se ciò richiede che un pacchetto sia installato da una versione precedente rispetto alle dipendenze già presenti, potrebbero essere incompatibili, il che dà lo stesso errore.
poolie,

Risposte:


29

Dovresti essere in grado di vedere l'elenco dei pacchetti trattenuti da:

apt-mark showhold 

e poi slegali

sudo apt-mark unhold <package name>

Successivamente, dovresti essere in grado di rimuovere il pacchetto in conflitto (sembra essere npm) e quindi reinstallare tutto.

Se fallisce, puoi provare la aptitudestrada --- spesso è in grado di districare meglio gli alberi delle dipendenze.

In entrambi i casi, prestare attenzione quando si applicano i comandi e controllare attentamente l'elenco dei pacchetti contrassegnati per la rimozione.


98
Quando l'ho provato con wine1.6, apt-mark showholdnon ho prodotto nulla. Altre idee? (Sono anche in Ask Ubuntu Chat ) :)
Madara Uchiha,

17
Sì. Anch'io. Per me questo comando non ha mai emesso nulla, mai.
yPhil

3
Ai lettori: assicurati di dare un'occhiata al consiglio di @DragonLord per usare aptitude! Funziona alla grande.
user146300,

4
Sì, sono d'accordo - spesso aptitudeè in grado di districare gli alberi delle dipendenze in un modo migliore rispetto alla pianura apt.
Rmano,

2
apt-mark showhold non fa nulla per me.
kRazzy R,

228

Usa aptitude invece di apt-get. È più intelligente. Non solo gestirà il downgrade dei pacchetti in conflitto per te, ma fornirà una serie di raccomandazioni che ti chiederanno quale dei molti possibili scenari di lavoro suggeriti desideri.

sudo aptitude install myNewPackage

Se non hai ancora attitudine sulla tua macchina, prendila

sudo apt-get install aptitude

30
La migliore risposta Ho provato apt-get negli ultimi due giorni. Con attitudine questo è stato risolto in pochi secondi :-)
Johan Karlsson

6
Grazie. Ho trascorso così tanto tempo a leggere diversi modi per risolvere il problema che apt-get non spiegherà che ero sbalordito quando aptitude ha appena esposto il problema specifico e persino fornito una soluzione.
bmacnaughton,

Per non parlare, funziona su un server senza testa
bsd

sì, ma perché dobbiamo usare questa soluzione? perché quasi i computer ora sono a 64 bit ??
vanduc1102,

5
L'unico aspetto negativo di questa soluzione: non puoi fare sudo apt-get install aptitudese i tuoi pacchetti sono rotti in primo luogo.
user13161

5

Per me, per risolvere questo problema, dovevo solo installare Synaptic prima usando il comando in basso, e poi tutto funzionava bene.

sudo apt-get install synaptic

1

Ho scoperto che dpkg -rmi permette di rimuovere i pacchetti uno per uno, senza innescare una cascata di altri comportamenti.

Non sono sicuro che questa sia una buona soluzione, ma ci sono andato e tutto sembra a posto.


dselectè uno strumento ancora migliore (un po 'di una curva di apprendimento, ma fornisce più feedback).
isomorfismi
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.