鉴于 r-api-3 问题,如何在 Debian Stretch 上安装 R?

鉴于 r-api-3 问题,如何在 Debian Stretch 上安装 R?

我尝试在运行全新安装的 Debian Stretch 的新计算机上从 CRAN 安装当前版本的 R (3.4.2),但它无法完全工作。例如,

root@machine:/home/myname# aptitude install r-cran-arm
The following NEW packages will be installed:
  libnlopt0{a} littler{a} r-cran-abind{ab} r-cran-arm{b} r-cran-coda{ab} 
  r-cran-littler{a} r-cran-lme4{ab} r-cran-minqa{a} r-cran-nloptr{a} 
  r-cran-pkgkitten{ab} r-cran-rcpp{ab} r-cran-rcppeigen{ab} 
0 packages upgraded, 12 newly installed, 0 to remove and 0 not upgraded.
Need to get 8,429 kB of archives. After unpacking 22.1 MB will be used.
The following packages have unmet dependencies:
 r-cran-coda : Depends: r-api-3 which is a virtual package, provided by:
                        - r-base-core (3.3.3-1), but 3.4.2-1~stretchcran.0 is installed

 r-cran-rcppeigen : Depends: r-api-3 which is a virtual package, provided by:
                             - r-base-core (3.3.3-1), but 3.4.2-1~stretchcran.0 is installed

 r-cran-abind : Depends: r-api-3 which is a virtual package, provided by:
                         - r-base-core (3.3.3-1), but 3.4.2-1~stretchcran.0 is installed

 r-cran-lme4 : Depends: r-api-3 which is a virtual package, provided by:
                        - r-base-core (3.3.3-1), but 3.4.2-1~stretchcran.0 is installed

 r-cran-rcpp : Depends: r-api-3 which is a virtual package, provided by:
                        - r-base-core (3.3.3-1), but 3.4.2-1~stretchcran.0 is installed

 r-cran-arm : Depends: r-api-3 which is a virtual package, provided by:
                       - r-base-core (3.3.3-1), but 3.4.2-1~stretchcran.0 is installed

 r-cran-pkgkitten : Depends: r-api-3 which is a virtual package, provided by:
                             - r-base-core (3.3.3-1), but 3.4.2-1~stretchcran.0 is installed

The following actions will resolve these dependencies:

     Keep the following packages at their current version:
1)     r-cran-abind [Not Installed]                       
2)     r-cran-arm [Not Installed]                         
3)     r-cran-coda [Not Installed]                        
4)     r-cran-lme4 [Not Installed]                        
5)     r-cran-minqa [Not Installed]                       
6)     r-cran-pkgkitten [Not Installed]                   
7)     r-cran-rcpp [Not Installed]                        
8)     r-cran-rcppeigen [Not Installed] 

我尝试按照以下说明进行操作https://cran.r-project.org/bin/linux/debian/。我已将 /etc/apt/sources.list 的相关部分设置为

## R https://cran.r-project.org/ 
## deb https://cran.cnr.berkeley.edu/bin/linux/debian stretch-cran34/
deb http://cran.wustl.edu/bin/linux/debian stretch-cran34/

(我先尝试了伯克利网站,然后切换到看看这是否是我的问题。

我已导入 Johanne 的 Ranke 密钥。

r-base 和 r-base-dev 已安装。

我认为 r-api-3 是关键,但我不明白如何解决它,即使在阅读了 bugs.debian.org 上的线程之后也是如此。

有没有一个简单的过程可以用来解决这个问题?如果有必要,我可以 aptitude 清除 r-cran-... 中的所有内容并重新开始,但如果我可以从原来的位置修复它们,那就更好了。

针对约翰内斯建议的更新:

我昨天尝试了一些方法,但没有成功。例如,我尝试了 install.packages(rstanarm) 并得到了以下信息:

/usr/lib/R/etc/Makeconf:168: recipe for target 'lang__grammars__expression_grammar_inst.o' failed

make: *** [lang__grammars__expression_grammar_inst.o] 错误 1 ​​错误:包 'rstan' 编译失败 * 删除 '/usr/local/lib/R/site-library/rstan' 错误:依赖项 'PKI'、'RCurl' 是不适用于软件包“rsconnect”* 删除“/usr/local/lib/R/site-library/rsconnect”错误:依赖项“igraph”不适用于软件包“twojs”* 删除“/usr/local/lib/R” /site-library/thirdjs' 错误:依赖项 'rsconnect'、'rstan'、' Threejs' 不适用于包 'shinystan' * 删除 '/usr/local/lib/R/site-library/shinystan' 错误:依赖项'rstan'、'shinystan' 不适用于软件包 'rstanarm' * 删除 '/usr/local/lib/R/site-library/rstanarm'

下载的源包位于 '/tmp/RtmpYtjSD9/downloaded_pa​​ckages' 警告消息: 1:在 install.packages("rstanarm") 中:安装包 'PKI' 的退出状态非零 2:在 install.packages("rstanarm") 中") :软件包 'RCurl' 的安装具有非零退出状态 3:在 install.packages("rstanarm") 中:软件包 'igraph' 的安装具有非零退出状态 4:在 install.packages("rstanarm") 中:软件包“rstan”的安装具有非零退出状态5:在install.packages(“rstanarm”)中:软件包“rsconnect”的安装具有非零退出状态6:在install.packages(“rstanarm”)中:安装包“twojs”的退出状态为非零 7:在 install.packages(“rstanarm”) 中:安装包“shinystan”的退出状态为非零 8:在 install.packages(“rstanarm”) 中:安装包“rstanarm”的退出状态非零

我猜这可能是因为我现在有多种软件包。

除非你另有说明,当我有时间的时候,我倾向于使用 aptitude delete 来删除所有 R 软件包,保留指向 Debian 向后移植的sources.list,然后使用 install.packages() 和 update.packages( )在向后移植的(3.4.2?)基础 R 之上构建我的系统。这听起来安全并且可能有效吗?

答案1

该软件包r-cran-arm不在 CRAN 上向后移植的软件包之列。此外,stretch 中可用的版本与r-cran-armR 3.4.2 的向后移植不兼容,因为它依赖于 r-api-3,而 CRAN 上的 R 3.4.2 提供了 r-api-3.4。

您可以arm从 R 中安装该软件包,也可以在本地计算机上向后移植 r-cran-arm 以及日志中提到的其他软件包。如果您想走第二条路,我将很乐意为您提供帮助。

相关内容