我正在尝试通过以下方式在 Ubuntu 20.04 上安装 R 版本 4.0.2:
sudo apt-get install r-base=4.0.2
但我得到了
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Version '4.0.2' for 'r-base' was not found
虽然它确实存在。
然后我尝试按照说明进行操作这里其中详细介绍了安装最新版本 R 的说明:
# update indices
apt update -qq
# install two helper packages we need
apt install --no-install-recommends software-properties-common dirmngr
# import the signing key (by Michael Rutter) for these repo
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9
# add the R 4.0 repo from CRAN -- adjust 'focal' to 'groovy' or 'bionic' as needed
add-apt-repository "deb https://cloud.r-project.org/bin/linux/ubuntu $(lsb_release -cs)-cran40/"
然后:
apt install --no-install-recommends r-base
对于最后一步,我尝试使用 r-base=4.0.2,因为我不需要最新版本,但我再次遇到同样的问题
编辑:根据 Henning 的回答,我运行了apt policy r-base
,结果给了我:
r-base:
Installed: (none)
Candidate: 4.1.0-1.2004.0
Version table:
4.1.0-1.2004.0 500
500 https://cloud.r-project.org/bin/linux/ubuntu focal-cran40/ Packages
4.0.5-1.2004.0 500
500 https://cloud.r-project.org/bin/linux/ubuntu focal-cran40/ Packages
4.0.4-1.2004.0 500
500 https://cloud.r-project.org/bin/linux/ubuntu focal-cran40/ Packages
4.0.3-1.2004.0 500
500 https://cloud.r-project.org/bin/linux/ubuntu focal-cran40/ Packages
4.0.2-1.2004.0 500
500 https://cloud.r-project.org/bin/linux/ubuntu focal-cran40/ Packages
4.0.1-1.2004.0 500
500 https://cloud.r-project.org/bin/linux/ubuntu focal-cran40/ Packages
4.0.0-1.2004.0 500
500 https://cloud.r-project.org/bin/linux/ubuntu focal-cran40/ Packages
3.6.3-2 500
500 http://us.archive.ubuntu.com/ubuntu focal/universe amd64 Packages
500 http://us.archive.ubuntu.com/ubuntu focal/universe i386 Packages
于是我尝试了一下,sudo apt-get install r-base=4.0.2-1.2004.0
得到了:
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-recommended (= 4.0.2-1.2004.0) but 4.1.0-1.2004.0 is to be installed
E: Unable to correct problems, you have held broken packages.
我尝试安装r-recommended
但仍然遇到同样的问题
答案1
Focal 的 Ubuntu 存储库提供 R 3.6.3。仅仅因为存在另一个版本的软件,并不一定意味着有人为 Ubuntu(或 Debian、Fedora 等)打包了该版本并在其存储库中提供了这些软件包;)
至于 r-project.org 提供的存储库,您可能想要检查那里有哪些确切的版本。您可以使用以下命令执行此操作apt policy r-base
(当然,在将存储库添加到软件包源列表之后)。在输出的末尾,应该有类似以下内容的内容
Version table:
*** 3.6.3-2 500
500 http://de.archive.ubuntu.com/ubuntu focal/universe amd64 Packages
500 http://de.archive.ubuntu.com/ubuntu focal/universe i386 Packages
100 /var/lib/dpkg/status
在这些版本标识中,您不仅可以找到“基础软件”的版本(在本例中为 R 的版本),还可以找到基于该软件构建的 Debian 软件包的版本,并且通常还可以找到基于 Debian 软件包构建的 Ubuntu 软件包的版本。
在此示例中, 的唯一可用版本r-base
是3.6.3-2
。这基本上意味着“R 版本 3.6.3,以及基于该版本构建的 Debian 软件包版本 2”。有关 Ubuntu 软件包版本信息的示例为apache2-2.4.41-4ubuntu3.1
(Apache HTTP 服务器版本 2.4.41、基于该版本构建的 Debian 软件包版本 4,以及基于 Debian 软件包构建的 Ubuntu 软件包版本 3.1)。
因此,您使用的版本标识apt install
不仅仅是 R 的版本,而且是您要安装的包的完整版本(当然,前提是该包位于您的系统“知道”的任何存储库中)。