E: ไม่สามารถแก้ไขปัญหาได้คุณมีแพ็กเกจที่ใช้งานไม่ได้


112

ฉันใช้ Ubuntu 13.04 ซึ่งฉันติดตั้งไปแล้วสองสามวัน ฉันพยายามที่จะติดตั้งและnodejs npmฉันพยายามติดตั้งจากบรรทัดคำสั่งก่อนแล้วจึงถอนการติดตั้ง จากนั้นบางสิ่งก็พัง

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.

ผลลัพธ์ของ/etc/apt/sources.listอยู่ด้านล่าง:

# 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

ผลลัพธ์ของ/etc/apt/sources.list.d/*อยู่ด้านล่าง:

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
ไม่แน่ใจว่าคำถามคืออะไร แต่สิ่งนี้สามารถช่วยคุณไปที่ตัวจัดการแพคเกจ synaptic แก้ไข> แก้ไขแพ็คเกจที่เสียหาย
danijelc

เมื่อฉันทำ 'gksudo synaptic' ไม่มีอะไรเกิดขึ้น
John Qualis

2
คุณต้องติดตั้งก่อนsudo apt-get update sudo apt-get upgrade sudo apt-get install synaptic
danijelc

วิธีที่คุณจะได้รับข้อผิดพลาดที่คล้ายกัน ( แต่เห็นได้ชัดว่าไม่ได้สำหรับสหกรณ์) APT::Default-Releaseก็คือการตั้งค่า หากต้องติดตั้งแพคเกจจากรีลีสที่เก่ากว่าการอ้างอิงที่มีอยู่แล้วแพ็กเกจนั้นอาจเข้ากันไม่ได้ซึ่งจะทำให้คุณมีข้อผิดพลาดเดียวกัน
poolie

คำตอบ:


29

คุณควรเห็นรายการแพ็คเกจที่ถือครองโดย:

apt-mark showhold 

แล้วยกเลิกการระงับพวกเขาโดย

sudo apt-mark unhold <package name>

หลังจากนั้นคุณควรจะสามารถลบแพ็คเกจที่ขัดแย้งกัน (ดูเหมือนจะเป็นnpm) แล้วติดตั้งใหม่ทั้งหมด

หากสิ่งนี้ล้มเหลวคุณสามารถลองaptitudeวิธี --- บ่อยครั้งที่มันสามารถแยกต้นไม้ที่พึ่งพาได้ดีกว่า

ในทั้งสองกรณีให้ระมัดระวังเมื่อใช้คำสั่งและตรวจสอบรายการแพ็กเกจที่ถูกทำเครื่องหมายเพื่อลบอย่างระมัดระวัง


98
เมื่อฉันลองมันด้วย wine1.6 จะไม่apt-mark showholdแสดงผลใด ๆ ความคิดอื่น ๆ ? (ฉันอยู่ในการแชทด้วย Ubuntu ด้วย ) :)
Madara Uchiha

17
ได้. ฉันด้วย. สำหรับฉันคำสั่งนี้ไม่เคยแสดงผลอะไรเลย
yPhil

3
ถึงผู้อ่าน: อย่าลืมดูเคล็ดลับของ @DragonLord เพื่อใช้ความถนัด! ใช้งานได้ดี
user146300

4
ครับผมเห็นพ้อง --- อาจเกิดสามารถที่จะคลี่คลายต้นไม้อ้างอิงในทางที่ดีกว่าธรรมดาaptitude apt
Rmano

2
showhold เครื่องหมาย apt ไม่ทำอะไรเลยสำหรับฉัน
kRazzy R

227

ใช้ความถนัดแทนการฉลาด - รับ มันฉลาดกว่า ไม่เพียง แต่จะจัดการกับแพคเกจที่ขัดแย้งกันสำหรับคุณเท่านั้น

sudo aptitude install myNewPackage

หากคุณยังไม่ถนัดในเครื่องของคุณ

sudo apt-get install aptitude

30
คำตอบที่ดีที่สุด ฉันลอง apt-get ในสองสามวันสุดท้าย ด้วยความถนัดสิ่งนี้ได้รับการแก้ไขในไม่กี่วินาที :-)
Johan Karlsson

6
ขอขอบคุณ. ฉันใช้เวลามากมายในการอ่านวิธีการต่าง ๆ เพื่อแก้ไขปัญหาที่ apt-get จะไม่อธิบายว่าฉันประหลาดใจเมื่อความสามารถเพียงวางปัญหาเฉพาะและให้แนวทางแก้ไข
bmacnaughton

ไม่พูดถึงมันทำงานบนเซิร์ฟเวอร์หัวขาด
bsd

ใช่ แต่ทำไมเราต้องใช้วิธีนี้? เพราะตอนนี้คอมพิวเตอร์เกือบ 64 บิตแล้ว ??
vanduc1102

5
ข้อเสียข้อเดียวของโซลูชันนี้: คุณไม่สามารถทำได้sudo apt-get install aptitudeถ้าแพ็คเกจของคุณเสียตั้งแต่แรก
user13161

5

สำหรับฉันที่จะแก้ปัญหานี้ฉันต้องติดตั้ง synaptic ก่อนโดยใช้คำสั่งด้านล่างแล้วทุกอย่างทำงานได้ดี

sudo apt-get install synaptic

1

ฉันพบว่าdpkg -rอนุญาตให้ฉันลบแพ็กเกจทีละรายการโดยไม่ทริกเกอร์พฤติกรรมอื่น ๆ

ฉันไม่แน่ใจว่านี่เป็นทางออกที่ดี แต่ฉันไปกับมันและทุกอย่างดูดี


dselectเป็นเครื่องมือที่ดียิ่งขึ้น (เป็นส่วนหนึ่งของเส้นโค้งการเรียนรู้ แต่ให้ข้อเสนอแนะเพิ่มเติม)
isomorphismes
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.