E:无法纠正问题,您拿着破损的包裹


112

我正在使用几天前安装的Ubuntu 13.04。我正在尝试安装nodejsnpm。我尝试先从命令行安装,然后将其卸载。然后出事了。

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突触”时什么也没发生
John Qualis 2013年

2
您需要先安装它sudo apt-get update sudo apt-get upgrade sudo apt-get install synaptic
danijelc

设置类似错误的另一种方法(尽管显然不是针对OP)APT::Default-Release。如果这需要从比已经存在的依赖项更旧的版本中安装软件包,则它们可能不兼容,这会给您同样的错误。
poolie 2013年

Answers:


29

您应该可以通过以下方式查看保留的软件包列表:

apt-mark showhold 

然后解开它们

sudo apt-mark unhold <package name>

之后,您应该能够删除有冲突的软件包(似乎是npm),然后重新安装所有软件包。

如果失败,你可以尝试的aptitude途径 -通常是能够更好地解开依赖树。

在这两种情况下,应用命令时都要小心,并仔细检查标记为删除的软件包列表。


98
当我用wine1.6尝试时,apt-mark showhold什么也不输出。还有其他想法吗?(我也在Ask Ubuntu Chat中):)
Madara Uchiha 2013年

17
对。我也是。对我来说,这个命令永远不会输出任何东西。
yPhil

3
给读者:确保查看@DragonLord的技巧来使用aptitude!效果很好。
user146300 '16

4
是的,我同意---通常aptitude能够以比plain更好的方式解开依赖树apt
Rmano '16

2
apt-mark showhold对我没有任何帮助。
kRazzy R

225

使用aptitude代替apt-get。它更智能。它不仅会为您处理降级的软件包降级,还将提出一系列建议,询问您想要哪种可能的建议工作方案。

sudo aptitude install myNewPackage

如果您还没有足够的机器知识,请与

sudo apt-get install aptitude

30
最好的答案。最近几天,我尝试了apt-get。有了才华,这可以在几秒钟内解决:-)
Johan Karlsson 2014年

6
谢谢。我花了很多时间阅读解决问题的不同方法,apt-get并不能解释为什么当才智提出特定问题甚至提供解决方案时我都感到惊讶。
bmacnaughton 2015年

更不用说,它可以在无头服务器上运行
bsd

是的,但是为什么我们需要使用此解决方案?因为现在几乎计算机都是64位的?
vanduc1102 '02

5
此解决方案的一个缺点:sudo apt-get install aptitude如果您的包装首先被破坏,则无法这样做。
user13161 '17


1

我发现这dpkg -r使我可以一个一个地删除软件包,而不会触发其他行为。

我不确定这是否是一个好的解决方案,但是我同意了,一切似乎都很好。


dselect是一个更好的工具(虽然有点学习曲线,但可以提供更多反馈)。
同构
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.