E: Impossible de corriger les problèmes, vous avez mis des paquets cassés en attente


112

J'utilise Ubuntu 13.04 que j'ai installé il y a quelques jours. J'essaye d'installer nodejset npm. J'ai d'abord essayé d'installer à partir de la ligne de commande, puis je l'ai désinstallé. Puis quelque chose s'est cassé.

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.

La sortie de /etc/apt/sources.listest ci-dessous:

# 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

La sortie de /etc/apt/sources.list.d/*est ci-dessous:

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
Vous n'êtes pas sûr de la question, mais cela peut vous aider. Allez dans le gestionnaire de paquets synaptic. Édition> Réparer les paquets cassés.
danijelc

quand je fais 'gksudo synaptic' rien ne se passe
John Qualis

2
Vous devez d'abord l'installersudo apt-get update sudo apt-get upgrade sudo apt-get install synaptic
danijelc

Vous pouvez également définir une erreur similaire (bien qu’apparemment pas pour le PO) APT::Default-Release. Si cela nécessite l'installation d'un paquetage à partir d'une version plus ancienne que les dépendances déjà présentes, elles risquent d'être incompatibles, ce qui vous donnera la même erreur.
poolie

Réponses:


29

Vous devriez pouvoir voir la liste des paquets retenus par:

apt-mark showhold 

puis détachez-les par

sudo apt-mark unhold <package name>

Après cela, vous devriez pouvoir supprimer le package en conflit (il semble que ce soit le cas npm), puis tout réinstaller.

Si cela échoue, vous pouvez essayer le aptitudemoyen - il est souvent capable de mieux démêler les arbres de dépendance.

Dans les deux cas, soyez prudent lorsque vous appliquez des commandes et vérifiez attentivement la liste des packages marqués pour suppression.


98
Quand j'ai essayé avec wine1.6, apt-mark showholdrien ne sort. D'autres idées? (Je suis aussi dans Ask Ubuntu Chat ) :)
Madara Uchiha

17
Ouaip. Moi aussi. Pour moi, cette commande n'a jamais rien sorti, jamais.
yPhil

3
Aux lecteurs: assurez-vous de consulter le conseil de @DragonLord pour utiliser aptitude! Fonctionne très bien.
user146300

4
Oui, je suis d'accord - il aptitudeest souvent capable de démêler mieux les arbres de dépendances que de simples apt.
Rmano

2
apt-mark showhold ne fait rien pour moi.
kRazzy R

228

Utilisez aptitude au lieu d'apt-get. C'est plus intelligent. Non seulement il gérera la mise à niveau des packages en conflit, mais il formera une série de recommandations vous demandant quel scénario de travail suggéré vous souhaitez.

sudo aptitude install myNewPackage

Si vous n'avez pas encore d'aptitude sur votre machine, récupérez-la avec

sudo apt-get install aptitude

30
La meilleure réponse. J'ai essayé apt-get ces derniers jours. Avec aptitude, cela a été résolu en quelques secondes :-)
Johan Karlsson

6
Je vous remercie. J'ai passé tellement de temps à lire différentes manières de résoudre le problème qu'apt-get ne m'explique pas que j'ai été stupéfait lorsque aptitude a exposé le problème spécifique et a même fourni une solution.
bmacnaughton

Sans oublier, cela fonctionne sur un serveur sans tête
bsd

oui, mais pourquoi devons-nous utiliser cette solution? parce que presque les ordinateurs ont maintenant 64 bits ??
vanduc1102

5
Le seul inconvénient de cette solution: vous ne pouvez pas le faire sudo apt-get install aptitudesi vos paquets sont cassés.
user13161

5

Pour que je puisse résoudre ce problème, je devais installer Synaptic d’abord en utilisant la commande ci-dessous, puis tout fonctionnait bien.

sudo apt-get install synaptic

1

J'ai découvert que cela dpkg -rme permettait de supprimer les paquets un par un, sans déclencher une cascade d'autres comportements.

Je ne suis pas sûr que ce soit une bonne solution, mais j'y suis allé et tout semble aller pour le mieux.


dselectest un outil encore meilleur (courbe d’apprentissage, mais donne plus de feedback).
isomorphismes
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.