无法安装 R 基础;Ubuntu 18.04 上未满足的依赖关系

无法安装 R 基础;Ubuntu 18.04 上未满足的依赖关系

我正在尝试在 Ubuntu 18.04 机器上安装 R,但遇到了“未满足的依赖关系”问题。但是,我无法确定我可以去哪里或需要在系统上修复什么才能解决这个问题。任何帮助都将不胜感激。

我正在运行 Ubuntu 18.04.2 LTS(配备 16GB RAM 和 500GB 硬盘),仅使用标准bionic存储库;我添加的唯一 PPA 是 libreoffice。要查看那里有什么,输出sudo apt update

Ign:1 http://dl.google.com/linux/chrome-remote-desktop/deb stable InRelease
Ign:2 http://dl.google.com/linux/chrome/deb stable InRelease   
Hit:3 http://dl.google.com/linux/chrome-remote-desktop/deb stable Release
Hit:4 http://dl.google.com/linux/chrome/deb stable Release                 
Get:7 https://desktop-download.mendeley.com/download/apt stable InRelease [2,456 B]
Get:8 https://typora.io/linux ./ InRelease [758 B]                         
Hit:9 http://repository.spotify.com stable InRelease                       
Hit:10 https://cloud.r-project.org/bin/linux/ubuntu bionic-cran35/ InRelease
Hit:11 http://ppa.launchpad.net/libreoffice/ppa/ubuntu bionic InRelease    
Hit:12 http://sg.archive.ubuntu.com/ubuntu bionic InRelease                
Hit:13 http://sg.archive.ubuntu.com/ubuntu bionic-backports InRelease
Get:14 http://sg.archive.ubuntu.com/ubuntu bionic-security InRelease [88.7 kB]
Fetched 91.9 kB in 3s (26.5 kB/s)    
Reading package lists... Done
Building dependency tree       
Reading state information... Done
All packages are up to date.

(我尝试尽可能保持同步,sudo apt update && sudo apt upgrade每两天至少运行一次。)

当我尝试安装 R 的第一个组件r-base(通过sudo apt install r-base)时,我得到以下未满足的依赖关系:

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.4.4-1ubuntu1) but it is not going to be installed
          Depends: r-recommended (= 3.4.4-1ubuntu1) 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.

运行software-properties-gtk,我看到所有存储库都已启用。运行sudo apt-get cleansudo apt-get autoclean继续完成,没有任何错误消息。当我执行

$ sudo apt-get -f install
$ sudo dpkg --configure -a
$ sudo apt-get -f install

输出是

Reading package lists... Done
Building dependency tree       
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

因此,我的系统上似乎没有被扣留、有冲突或损坏的软件包。我也执行了sudo apt --fix-broken install,但同样,如上所述,我的系统似乎没有被扣留或损坏的软件包。

正在播放的sudo apt-get dist-upgrade节目

Reading package lists... Done 
Building dependency tree 
Reading state information... Done 
Calculating upgrade... Done 
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

我很乐意尝试别人可能建议的任何其他方法来查看故障是否仍然存在于我的系统上。

接下来我添加

deb https://cloud.r-project.org/bin/linux/ubuntu bionic-cran35/

到我的/etc/apt/sources.list并运行

$ sudo apt update
$ sudo apt install r-base

仍然没有喜悦;输出现在是(省略上面的重复)

The following packages have unmet dependencies:
 r-base : Depends: r-base-core (>= 3.6.0-2bionic) but it is not going to be installed
          Depends: r-recommended (= 3.6.0-2bionic) 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.

(但至少我已经从 移动3.4.4-1ubuntu13.6.0-2bionic。)重复sudo apt-get -f install ; sudo dpkg --configure -a; sudo apt-get -f install上述顺序继续显示

Reading package lists... Done
Building dependency tree       
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

因此再次看来,似乎不存在任何被持有或冲突的包裹。

输出apt-cache policy r-base为:

  Installed: (none)
  Candidate: 3.6.0-2bionic
  Version table:
     3.6.0-2bionic 500
        500 https://cloud.r-project.org/bin/linux/ubuntu bionic-cran35/ Packages
     3.6.0-1bionic 500
        500 https://cloud.r-project.org/bin/linux/ubuntu bionic-cran35/ Packages
     3.5.3-1bionic 500
        500 https://cloud.r-project.org/bin/linux/ubuntu bionic-cran35/ Packages
     3.5.2-1bionic 500
        500 https://cloud.r-project.org/bin/linux/ubuntu bionic-cran35/ Packages
     3.5.1-2bionic 500
        500 https://cloud.r-project.org/bin/linux/ubuntu bionic-cran35/ Packages
     3.5.1-1bionic 500
        500 https://cloud.r-project.org/bin/linux/ubuntu bionic-cran35/ Packages
     3.5.0-1bionic 500
        500 https://cloud.r-project.org/bin/linux/ubuntu bionic-cran35/ Packages
     3.4.4-1ubuntu1 500
        500 http://sg.archive.ubuntu.com/ubuntu bionic/universe amd64 Packages
        500 http://sg.archive.ubuntu.com/ubuntu bionic/universe i386 Packages

但是,我不确定要去哪里进一步挖掘或根据此输出调整哪些文件。

我需要在我的 中添加哪些位置/etc/apt/sources.list来放置r-base-core和的依赖项r-recommended?我还需要去哪里获取它们?Linux 安装页面

https://cran.ma.imperial.ac.uk/bin/linux/ubuntu/README.html

没有向我建议进一步添加任何/etc/apt/sources.list内容。Google 返回了一大堆其他内容,包括的 PPA,我尝试将它们添加到我的源中,但没有一个允许我完成安装。[是的,当我删除它们时,我确保每次都marutter运行clean和,如上所述。]autoclean

需要说明的是,我并不执着于拥有绝对最新版本的 R/ 我对稍微过时的版本也感到满意,但我没有在 R 的 Linux 安装页面上看到任何关于我可以调整什么的提示。

(在我的其他机器 GalliumOS 2.1 和 GalliumOS 3.0 上,我安装了 R 和 RStudio,没有问题。)

任何帮助将不胜感激。

(该问题现已按照如下所述得到解决;我有两个版本略有不一致的软件包。我最终删除了两者并重新安装了一个。)

答案1

在跟踪了多条路径上的一系列失败之后,我确信——正如@user535733 所建议的“进入兔子洞”——不知何故,两个不同的来源似乎潜入了我的系统,每个来源都单独提供了一套一致的完整软件包,但两者之间却互不兼容。其中一个例子是发现gcc-8-base同时引用8.3.0-6ubuntu1~18.048-20180414-1ubuntu2,但还有其他问题,最终发现太多了,无法一次解决一个。

因此我删除并恢复了默认存储库,例如,如何恢复默认存储库?通过移动/etc/apt/sources.list到某个安全的临时位置 [在一切正常后丢弃],touch创建一个新的空版本,然后using software-properties-gtk提供一组新的 Ubuntu 软件源和更新(securityupdates频道)。关闭它以便系统更新,然后在终端中运行

$ sudo apt update && sudo apt upgrade
$ sudo apt install r-base # Works cleanly!

(非常感谢所有提供帮助的人,尤其是@user535733)

相关内容