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
그러나 질문이 무엇인지 확실하지 않으면 시냅틱 패키지 관리자로 이동하는 데 도움이 될 수 있습니다. 수정> 깨진 패키지 수정.
danijelc

내가 '시냅스를 gksudo'할 때 아무 반응이 없습니다
존 Qualis

2
먼저 설치해야합니다sudo apt-get update sudo apt-get upgrade sudo apt-get install synaptic
danijelc

비슷한 오류를 얻을 수있는 또 다른 방법은 (OP는 아니지만) 설정하는 것 APT::Default-Release입니다. 패키지가 이미 존재하는 종속성보다 이전 릴리스에서 설치해야하는 경우 호환되지 않을 수 있으며 같은 오류가 발생합니다.
poolie

답변:


29

보류 된 패키지 목록은 다음을 통해 볼 수 있어야합니다.

apt-mark showhold 

그런 다음

sudo apt-mark unhold <package name>

그런 다음 충돌하는 패키지를 제거하고 (있는 것처럼 보입니다 npm) 모두 다시 설치해야합니다.

이것이 실패하면, 당신은 aptitude방법을 시도 할 수 있습니다 --- 종종 의존성 트리를 더 잘 풀 수 있습니다.

두 경우 모두 명령을 적용 할 때주의하고 제거가 표시된 패키지 목록을주의해서 확인하십시오.


98
wine1.6으로 시도했을 때 apt-mark showhold아무것도 출력하지 않습니다. 다른 아이디어가 있습니까? (또한 Ask Ubuntu Chat에 있습니다 ) :)
Madara Uchiha

17
예. 나도. 나 에게이 명령은 아무것도 출력하지 않았습니다.
yPhil

3
독자에게 : 적성을 사용하려면 @DragonLord의 팁을 확인하십시오! 잘 작동합니다.
user146300

4
그렇다. 나는 종종 aptitude의존성 트리를 평범한 것보다 더 나은 방법으로 풀 수있다 apt.
Rmano

2
apt-mark showhold는 나를 위해 아무것도하지 않습니다.
kRazzy R

227

apt-get 대신 적성을 사용하십시오. 더 지능적입니다. 충돌하는 패키지 다운 그레이드를 처리 할뿐만 아니라 여러 가지 제안 된 작업 시나리오 중 원하는 것을 요구하는 일련의 권장 사항을 작성합니다.

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

이 문제를 해결하려면 먼저 command 아래를 사용하여 시냅틱을 설치해야했고 모든 것이 잘 작동합니다.

sudo apt-get install synaptic

1

dpkg -r다른 동작을 유발하지 않고 패키지를 하나씩 제거 할 수 있다는 것을 알았습니다 .

나는 이것이 좋은 해결책인지 확신하지 못하지만 그와 함께 갔고 모든 것이 좋아 보인다.


dselect더 나은 도구입니다 (약간의 학습 곡선이지만 더 많은 피드백을 제공함).
isomorphismes
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.