Các gói sau đây có các thuộc tính không được đáp ứng!


36

Tôi viết thư này vì tôi rất bối rối về việc cài đặt PostgreSQL 9.3 trên Ubuntu 14.04 của mình. Đầu tiên tôi cần nó cho sự phát triển Python / Django của tôi và tôi gặp vấn đề khi tôi cố gắng cài đặt nó. Bây giờ tôi có lỗi này và nó đang khiến tôi phát điên:

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.

Tôi đã tìm thấy một số giải pháp trực tuyến ( Làm cách nào để giải quyết các phụ thuộc chưa được đáp ứng sau khi thêm PPA? ) Và tôi đã làm mọi thứ với phần Biện pháp phòng ngừa, vì tôi đã gặp một số vấn đề về gói bị hỏng và một lần nữa sau khi tôi gặp lỗi này .

Điều thứ hai tôi đã làm theo hướng dẫn cài đặt PostgreSQL chính thức ( http://www.postgresql.org/doad/linux/ubfox/ ) và tôi đã có các kho lưu trữ trùng lặp, nhưng tôi đã xóa chúng và tôi đã thêm một kho mới vẫn còn lỗi này.


Câu trả lời:


36

Bạn có thể cài đặt gói bằng cách sử dụng.

đảm bảo các nguồn repo được cập nhật

sudo apt-get update

Để cài đặt gói.

sudo apt-get install packagename

Khi gói xác định rằng bạn có một số phụ thuộc bị thiếu, hãy chạy lệnh sau để sửa các phụ thuộc bị hỏng hoặc bị thiếu.

sudo apt-get install -f

Lệnh trên sẽ chỉ tải xuống các phụ thuộc còn thiếu nếu bạn đã cài đặt gói.


2
Cảm ơn bạn, tôi nghĩ rằng nó có nghĩa là sử dụng sudo apt-get install -f packagenamevà đã nhận được cùng một lỗi.
Charles Clayton

1
Điều này không hoạt động với các lỗi tối thiểu python2.7 .
IgorGanapolsky

8

Đôi khi các phụ thuộc cần sửa chữa không liên quan đến chương trình bạn đang cố gắng cài đặt. Trong trường hợp của tôi, nó đã đưa ra lỗi này:

Sau đây có các phụ thuộc chưa được đáp ứng

shashlik: Tùy thuộc: libc6-i386 nhưng nó sẽ không được cài đặt

Phụ thuộc: lib32gcc1 nhưng nó sẽ không được cài đặt

Phụ thuộc: lib32z1 nhưng nó sẽ không được cài đặt

Hóa ra tôi đã cố gắng cài đặt một chương trình có tên là "Shashlik" và việc cài đặt đã thất bại. Vì vậy, tôi đã chạy mã:

sudo apt-get --purge remove shashlik

Và rồi tôi chạy:

sudo apt install autoconf

Điều này dường như để sửa lỗi như chương trình của tôi sau đó cài đặt. Tôi không chắc lệnh thứ hai đã giúp được bao nhiêu nhưng tôi đặt nó ở đó trong trường hợp cần thiết để giải pháp hoạt động.


Làm thế nào bạn xác định đây là vấn đề?
kevinkayaks

5

Hãy để tôi chia sẻ với những người khác kinh nghiệm của tôi với việc cài đặt postgresql-9.3. Trước hết tôi đã vật lộn với điều này trong khoảng 4/5 ngày, và cuối cùng tôi cũng xoay sở được.

Tất cả đã sai với những lỗi khó chịu mà tôi đã chia sẻ trong bài đăng đầu tiên của mình, vì tôi đã cố gắng google nó và phát hiện ra rằng mọi người có ít lỗi tương tự hơn, hoặc đấu tranh để giải quyết một lỗi tương tự.

Tóm lại, bạn có một câu trả lời rất hay ở đây về cách giải quyết các gói chưa được đáp ứng:

Làm cách nào để giải quyết các phụ thuộc chưa được đáp ứng sau khi thêm PPA?

Lỗi của tôi là tôi đã tạo kho lưu trữ trùng lặp và câu trả lời trong liên kết này đã giải quyết rằng, lệnh này sudo apt-get install -fchỉ gây ra một lỗi khác, bạn phải thực hiện thủ công, ít nhất là tôi đã làm điều đó (đọc đến phần Biện pháp phòng ngừa, nhưng bạn có thể đọc cuối cùng, nó là một bài imba).

Thứ hai tôi quản lý để google bài đăng này từ trang PostgreQuery chính thức http://www.postgresql.org/message-id/20140327084212.GA12703@msgid.df7cb.de (đây là lỗi mọi người thường gặp phải khi cài đặt postgresql ), điều này dẫn tôi đến
https://wiki.postgresql.org/wiki/Apt , đây là cách thích hợp để thêm Gói PostgreQuery vào hệ thống của bạn, chỉ cần đọc và thực hiện từng bước.

Bước thứ ba là một loạt các lệnh được cung cấp trong bài đăng @vembutech:

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

5

Tôi biết tôi hơi muộn, nhưng không có giải pháp nào ở trên làm việc cho tôi. Điều thực sự giải quyết vấn đề của tôi là sử dụng aptitudethay vì apt-get. aptitudesẽ đề nghị giải quyết vấn đề. Ví dụ:

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)

như đã thảo luận trong bài viết này .


3

Hãy thử bằng cách cài đặt với lệnh dưới đây.

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

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

1
"E: Phiên bản '151.pgdg12.4 + 1' cho 'postgresql-common' không tìm thấy", lỗi một lần nữa ...
cảnh sát 19/12/14

Tôi quản lý để làm điều đó, tôi chạy lệnh thứ hai và cuối cùng tôi đã làm nó, @vembutech <3
cảnh sát
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.