แพ็คเกจต่อไปนี้มีการพึ่งพาที่ไม่คาดคิด!


36

ฉันเขียนสิ่งนี้เพราะฉันสับสนมากเกี่ยวกับการติดตั้ง PostgreSQL 9.3 บน Ubuntu 14.04 ของฉัน ก่อนอื่นฉันต้องการมันสำหรับการพัฒนา Python / Django ของฉันและฉันพบปัญหาเมื่อฉันพยายามติดตั้ง ตอนนี้ฉันมีข้อผิดพลาดนี้และมันทำให้ฉันบ้า:

The following packages have unmet dependencies:
postgresql-9.3 : Depends: postgresql-client-9.3 but it is not going to be installed
Depends: postgresql-common (>= 142~) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

ฉันพบวิธีแก้ไขปัญหาออนไลน์แล้ว ( ฉันจะแก้ไขการพึ่งพาที่ไม่ได้รับหลังจากเพิ่ม PPA ได้อย่างไร ) และฉันทำทุกอย่างในส่วนมาตรการป้องกันเพราะฉันมีปัญหาแพคเกจที่ใช้งานไม่ได้และอีกครั้งหลังจากที่ฉันพบข้อผิดพลาดนี้อีกครั้ง .

สิ่งที่สองที่ฉันติดตาม PostgreSQL อย่างเป็นทางการคือการติดตั้งการสอน ( http://www.postgresql.org/download/linux/ubuntu/ ) และฉันมีที่เก็บข้อมูลที่ซ้ำกัน แต่ฉันได้ลบที่เก็บและฉันได้เพิ่มอันใหม่ แต่ ยังคงข้อผิดพลาดนี้


คำตอบ:


36

คุณสามารถติดตั้งแพ็คเกจโดยใช้

ตรวจสอบให้แน่ใจแหล่งที่มา repo เป็นปัจจุบัน

sudo apt-get update

เพื่อติดตั้งแพคเกจ

sudo apt-get install packagename

เมื่อแพ็คเกจระบุว่าคุณมีการขึ้นต่อกันที่ขาดหายไปให้รันคำสั่งต่อไปนี้เพื่อแก้ไขการขึ้นต่อกันที่ขาดหรือขาดหายไป

sudo apt-get install -f

คำสั่งดังกล่าวจะดาวน์โหลดการอ้างอิงที่หายไปหากคุณได้ติดตั้งแพคเกจแล้ว


2
ขอบคุณฉันคิดว่ามันหมายถึงการใช้งานsudo apt-get install -f packagenameและได้รับข้อผิดพลาดเดียวกัน
Charles Clayton

1
สิ่งนี้ใช้ไม่ได้กับข้อผิดพลาดpython2.7 ขั้นต่ำ
IgorGanapolsky

8

บางครั้งการอ้างอิงที่ต้องแก้ไขไม่เกี่ยวข้องกับโปรแกรมที่คุณพยายามติดตั้ง ในกรณีของฉันมันให้ข้อผิดพลาดนี้:

ต่อไปนี้เป็นสิ่งที่ไม่น่าเชื่อถือ

shashlik: ขึ้นอยู่กับ: libc6-i386 แต่มันจะไม่ถูกติดตั้ง

ขึ้นอยู่กับ: lib32gcc1 แต่มันจะไม่ถูกติดตั้ง

ขึ้นอยู่กับ: lib32z1 แต่มันจะไม่ถูกติดตั้ง

มันกลับกลายเป็นว่าฉันได้ลองติดตั้งโปรแกรมที่ชื่อว่า "Shashlik" และการติดตั้งล้มเหลว ดังนั้นฉันวิ่งรหัส:

sudo apt-get --purge remove shashlik

จากนั้นฉันก็วิ่ง:

sudo apt install autoconf

ดูเหมือนว่าจะแก้ไขข้อผิดพลาดเมื่อติดตั้งโปรแกรมของฉันแล้ว ฉันไม่แน่ใจว่าคำสั่งที่สองช่วย แต่ฉันใส่ไว้ในกรณีที่จำเป็นสำหรับการแก้ปัญหาในการทำงาน


คุณทราบได้อย่างไรว่าปัญหานี้เกิดขึ้นได้อย่างไร
kevinkayaks

5

ผมขอร่วมกับคนอื่น ๆ postgresql-9.3ประสบการณ์ของฉันกับการติดตั้ง ก่อนอื่นฉันต้องดิ้นรนกับเรื่องนี้มาประมาณ 4/5 วันและในที่สุดฉันก็สามารถทำได้

ทุกอย่างผิดพลาดกับข้อผิดพลาดที่น่ารังเกียจเหล่านี้ฉันได้แชร์ในโพสต์แรกของฉันเนื่องจากฉันพยายาม google แล้วพบว่าผู้คนมีข้อผิดพลาดเดียวกันน้อยกว่าหรือพยายามดิ้นรนเพื่อแก้ปัญหาที่คล้ายกัน

เรื่องสั้นสั้น ๆ คุณมีคำตอบที่ดีมากที่นี่วิธีการแก้ไขแพคเกจ unmet:

ฉันจะแก้ไขการพึ่งพาที่ไม่ได้รับหลังจากเพิ่ม PPA ได้อย่างไร

ความผิดพลาดของฉันคือฉันได้สร้างที่เก็บข้อมูลที่ซ้ำกันและคำตอบในลิงก์นี้แก้ไขได้ว่าคำสั่งนี้sudo apt-get install -fเพิ่งทำผิดพลาดอีกครั้งคุณต้องทำสิ่งนี้ด้วยตนเองอย่างน้อยที่สุดฉันก็ทำมัน (อ่านส่วนมาตรการป้องกัน แต่คุณสามารถอ่าน ท้ายที่สุดมันคือโพสต์ imba)

ที่สองฉันจัดการเพื่อ google โพสต์นี้จากหน้า PostgreSQL อย่างเป็นทางการ http://www.postgresql.org/message-id/20140327084212.GA12703@msgid.df7cb.de (นี่เป็นข้อผิดพลาดที่คนมักจะมีเมื่อพวกเขากำลังดิ้นรนกับการติดตั้ง postgresql ) สิ่งนี้ทำให้ฉันไปที่
https://wiki.postgresql.org/wiki/Aptนี่เป็นวิธีที่เหมาะสมสำหรับการเพิ่มแพ็คเกจ PostgreSQL ในระบบของคุณเพียงแค่อ่านและทำตามขั้นตอน

ขั้นตอนที่สามคือชุดคำสั่งที่มีให้ในโพสต์ @vembutech:

sudo apt-get update && sudo apt-get upgrade
sudo apt-get install postgresql-9.3 postgresql-contrib-9.3

5

ฉันรู้ว่าฉันสายไปนิดหน่อย แต่ไม่มีวิธีแก้ปัญหาใดที่ได้ผลสำหรับฉัน สิ่งที่แก้ไขปัญหาของฉันได้จริง ๆ คือใช้aptitudeแทนที่จะฉลาด aptitudeจะแนะนำวิธีแก้ไขปัญหา ตัวอย่างเช่น

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

ลองโดยติดตั้งด้วยคำสั่งด้านล่าง

sudo apt-get install postgresql-common=151.pgdg12.4+1

sudo apt-get install postgresql-9.3 postgresql-contrib-9.3

1
"E: รุ่น '151.pgdg12.4 + 1' สำหรับ 'postgresql-common' ไม่พบ", ข้อผิดพลาดอีกครั้ง ...
copser

ฉันจัดการที่จะทำฉันใช้คำสั่งที่สองและในที่สุดฉันก็ทำมัน @vembutech <3
copser
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.