Vraag E: Kan problemen niet corrigeren, je hebt gebroken pakketten gehad


Ik gebruik Ubuntu 13.04 die ik een paar dagen geleden heb geïnstalleerd. Ik probeer te installeren nodejs en npm. Ik heb geprobeerd het eerst via de opdrachtregel te installeren en vervolgens de installatie ongedaan te maken. Toen brak er iets.

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.

De uitvoer van /etc/apt/sources.list is beneden:

# 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

De uitvoer van /etc/apt/sources.list.d/* is beneden:

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

80
2017-10-21 17:07


oorsprong


Niet zeker, maar de vraag is hoe dit u kan helpen. Ga naar synaptic package manager. Bewerken> Herstel kapotte pakketten. - danijelc
wanneer ik 'gksudo-synaptisch' doe, gebeurt er niets - John Qualis
U moet het eerst installeren sudo apt-get update sudo apt-get upgrade sudo apt-get install synaptic - danijelc
Een andere manier om een ​​soortgelijke fout te krijgen (hoewel blijkbaar niet voor het OP) is om in te stellen APT::Default-Release. Als dat vereist dat een pakket wordt geïnstalleerd vanaf een oudere versie dan afhankelijkheden die al aanwezig zijn, kunnen ze incompatibel zijn, wat dezelfde fout oplevert. - poolie
Verwant: Kan problemen niet corrigeren, je hebt gebroken pakketten gehad - Melebius


antwoorden:


U zou de lijst met vastgehouden pakketten moeten kunnen zien door:

apt-mark showhold 

en houd ze vervolgens niet langer vast

sudo apt-mark unhold <package name>

Daarna zou je het conflicterende pakket moeten kunnen verwijderen (zo lijkt het wel npm) en installeer alles opnieuw.

Als dit faalt, je kunt het proberen aptitude manier --- vaak is het in staat om afhankelijkheidsbomen beter te ontwarren.

Wees in beide gevallen voorzichtig bij het toepassen van opdrachten en controleer zorgvuldig de lijst met pakketten die zijn gemarkeerd voor verwijderen.


20
2017-10-21 18:15



Toen ik dat probeerde met wine1.6, apt-mark showhold levert niets op. Nog andere ideeën? (Ik ben er ook in Vraag Ubuntu Chat) :) - Madara Uchiha
JEP. Ik ook. Voor mij leverde dit commando nooit iets op, ooit. - yPhil
Aan de lezers: check @DragonLord's tip om aptitude te gebruiken! Werkt goed. - user146300
Ja, ik ben het eens - vaak aptitude is in staat om afhankelijkhedenbomen op een betere manier te ontwarren dan gewoon apt. - Rmano
apt-mark showhold doet niets voor mij. - kRazzy R


Gebruik aptitude in plaats van apt-get. Het is intelligenter. Het zal niet alleen de tegenstrijdige pakketten voor u downgraden, maar zal ook een reeks aanbevelingen doen om u te vragen welke van vele mogelijke voorgestelde werkscenario's u zou willen.

sudo aptitude install myNewPackage

Als je nog geen aanleg hebt voor je machine, snap het dan

sudo apt-get install aptitude

181
2018-04-20 03:40



Het beste antwoord. Ik heb de afgelopen dagen apt-get geprobeerd. Met aptitude was dit binnen enkele seconden opgelost :-) - Johan Karlsson
Dank je. Ik heb zoveel tijd besteed aan het lezen van verschillende manieren om het probleem op te lossen dat apt-get niet zal verklaren dat ik verbaasd was toen aptitude het specifieke probleem aan het licht bracht en zelfs een oplossing bood. - bmacnaughton
Om nog maar te zwijgen, het werkt op een headless server - bsd
ja, maar waarom moeten we deze oplossing gebruiken? omdat bijna computers nu 64 bits zijn ?? - vanduc1102
Het enige nadeel aan deze oplossing: je kunt het niet doen sudo apt-get install aptitudeals uw pakketten in de eerste plaats worden verbroken. - user13161


Om dit probleem op te lossen, moest ik eerst de eerste synaptic installeren met behulp van onderstaande opdracht en dan werkt alles goed.

sudo apt-get install synaptic

4
2017-12-16 23:19





Ik kwam erachter dat dpkg -r kan ik pakketten een voor een verwijderen zonder een cascade van ander gedrag teweeg te brengen.

Ik ben er niet zeker van dat dit een goede oplossing is, maar ik ben ermee doorgegaan en alles lijkt in orde te zijn.


0
2017-07-28 16:29



dselect is een nog beter hulpmiddel (beetje een leercurve, maar geeft meer feedback). - isomorphismes