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
しかし、これはあなたがシナプスパッケージマネージャーに移動するのに役立ちますが、何が問題なのかわかりません。[編集]> [破損したパッケージを修正]。
ダニエルツ

'gksudo synaptic'を実行しても何も起こらない
ジョンクオリス

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何も出力されません。他のアイデアはありますか?(また、Ubuntu Chatにいます):)
マダラ

17
うん。私も。私にとって、このコマンドは何も出力しませんでした。
yPhil

3
読者の皆様へ:aptitudeを使用するために@DragonLordのヒントを必ずチェックしてください!よく働く。
user146300

4
はい、私は同意します---多くのaptitude場合、プレーンよりも優れた方法で依存関係ツリーを解きaptます。
Rmano

2
apt-mark showholdは何もしません。
kRazzy R

228

apt-getの代わりにaptitudeを使用してください。よりインテリジェントです。競合するパッケージのダウングレードを処理するだけでなく、推奨される多くの作業シナリオのどれを希望するかを尋ねる一連の推奨事項を作成します。

sudo aptitude install myNewPackage

マシンにまだ適性がない場合は、

sudo apt-get install aptitude

30
最高の答え。過去数日間、apt-getを試しました。適性により、これは数秒で解決されました:
ヨハンカールソン14

6
ありがとうございました。私は問題を解決するためのさまざまな方法を読むことに多くの時間を費やしてきたので、apt-getはaptitudeが特定の問題をレイアウトし、解決策を提供しただけでも驚いたことを説明しません。
bmacnaughton

言うまでもなく、ヘッドレスサーバーで動作します
-bsd

はい、でもこのソリューションを使用する必要があるのはなぜですか?ほとんどのコンピュータは現在64ビットであるため??
vanduc1102

5
このソリューションのマイナス面sudo apt-get install aptitudeは、そもそもパッケージが破損しているとできないことです。
user13161

5

この問題を解決するために、まず以下のコマンドを使用してシナプスをインストールする必要がありましたが、その後はすべて正常に動作します。

sudo apt-get install synaptic

1

dpkg -r他の動作のカスケードをトリガーすることなく、パッケージを1つずつ削除できることがわかりました。

これが良い解決策であるかどうかはわかりませんが、私はそれで行って、すべてがうまくいくようです。


dselectさらに優れたツールです(学習曲線の一部ですが、より多くのフィードバックを提供します)。
同型
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.