我正在尝试通过以下方式在 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
但我仍然遇到同样的问题
Focal 的 Ubuntu 存储库提供 R 3.6.3。仅仅因为存在另一个版本的软件,这并不意味着有人为 Ubuntu(或 Debian,或 Fedora,或......)打包了该版本,并在他们的存储库中提供了这些包;)
至于 r-project.org 提供的存储库,您可能想检查那里有哪些确切版本可用。您可以这样做
apt policy r-base
(当然,在您将存储库添加到包源列表之后)。在输出的最后,应该有一些类似的东西在这些版本名称中,您不仅可以找到“基础软件”的版本(在本例中为 R 的版本),还可以找到从该软件构建的 Debian 软件包的版本,并且通常是构建的 Ubuntu 软件包的版本来自 Debian 软件包。
在此示例中,唯一可用的版本
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 的版本,而是您要安装的软件包的完整版本(当然,前提是该软件包位于您的系统“知道”的任何存储库中)。