我认为 Pixelbook 附带的 Linux beta 是 Ubuntu,所以在终端中输入了一些错误,我无法再追溯。现在我在尝试安装 R 时遇到依赖错误。
sudo apt install r-base
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:
r-base : Depends: r-base-core (>= 3.5.3-1xenial) but it is not going to be installed
Depends: r-recommended (= 3.5.3-1xenial) but it is not going to be installed
Recommends: r-base-html but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
这是输出
apt policy r-recommended
-recommended:
Installed: (none)
Candidate: 3.5.3-1xenial
Version table:
3.5.3-1xenial 500
500 https://cloud.r-project.org/bin/linux/ubuntu xenial-cran35/ Packages
3.5.3-1~stretchcran.0 500
500 https://cloud.r-project.org/bin/linux/debian stretch-cran35/ Packages
3.5.2-1xenial 500
500 https://cloud.r-project.org/bin/linux/ubuntu xenial-cran35/ Packages
3.5.2-1~stretchcran.0 500
500 https://cloud.r-project.org/bin/linux/debian stretch-cran35/ Packages
3.5.1-2xenial 500
500 https://cloud.r-project.org/bin/linux/ubuntu xenial-cran35/ Packages
3.5.1-1xenial 500
500 https://cloud.r-project.org/bin/linux/ubuntu xenial-cran35/ Packages
3.5.0-1xenial 500
500 https://cloud.r-project.org/bin/linux/ubuntu xenial-cran35/ Packages
3.3.3-1 500
500 https://deb.debian.org/debian stretch/main amd64 Packages
根据我的研究,我认为这是由于尝试使用不同的方法安装多个版本的 R,但我不知道如何修复它,因为我的像素本上没有 Linux 界面,只有终端.我试图删除所有 r-base、r-core 依赖项但无济于事。有人可以帮忙吗?
这些是修复错误的一些快速简便的方法
you have held broken packages
。打开您的 sources.list 文件
/etc/apt/sources.list
并检查是否没有任何与您当前使用的版本不同的软件源。如果在sources.list中发现有不正确的发布行,用打开sources.list文件,将sources.listsudoedit /etc/apt/sources.list
中不正确的行前面加一个字符注释掉#
,保存sources.list文件,运行sudo apt update
更新列表可用的软件包。在 Synaptic 包管理器中选择Fix Broken Packages选项。运行以下命令来安装 Synaptic。
打开 Synaptic 并在 Synaptic 中选择Edit -> Fix Broken Packages然后再次重复Edit -> Fix Broken Packages。
在左窗格的 Synaptic 中,单击下面屏幕截图中鼠标光标标记的自定义过滤器按钮。从左上角的列表中选择Broken。在中心窗格中将列出任何仍需要修复的损坏包。
一次选择一个破损的包裹。选择一个损坏的包,然后打开终端并运行。此命令的结果将告诉您损坏的软件包是从默认软件存储库还是从其他来源安装的。如果损坏的包是从其他来源安装的,也许该包可以与其软件源一起删除,并替换为默认存储库中同一包的不同版本。通常这意味着通过将软件包降级到旧版本来修复损坏的软件包。
apt policy <package-name>
另一种故障排除方法可能是使用 aptitude (
sudo apt install aptitude
) 而不是 apt 来尝试安装你的包:与 apt 不同,aptitude 将尝试找到可能涉及修改其他已安装软件包的解决方案,并且它会提供有关解决问题的选项的更多信息。
如果您收到此错误消息:
运行以下命令:
手动删除损坏的包。
在中找到您的包裹
/var/lib/dpkg/info
将包文件夹移动到另一个位置。
运行以下命令:
如果所有这些方法都不起作用,则损坏的软件包可能是由操作系统中嵌入得如此之深的东西引起的,以至于这些方法都无法对其产生任何影响。寻找这种深入嵌入的“东西”的第一个显而易见的地方是在
/etc/apt/sources.list
. 检查 sources.list 文件以查看它是否包含任何可能导致损坏的包错误的非标准行。标准的 Ubuntu sources.list 文件看起来像这个答案中的 sources.list 文件。#
从 sources.list 中删除可疑行的正确方法是通过在其前面加上一个字符来将其注释掉。然后运行sudo apt update
刷新可用软件列表。