gpt4 book ai didi

r - 如何调试在狭窄的情况下R CMD检查失败的情况

转载 作者:行者123 更新时间:2023-12-04 13:49:39 26 4
gpt4 key购买 nike

为另一个包构建调试道歉,但我在这里完全被难住了。

使用 R-devel.sh CMD check taRifx.geo_1.0.6.tar.gz --as-cran在 (X)Ubuntu 14.04 LTS 上,通过 this script 安装,我收到以下错误:

* checking examples ... ERROR
Running examples in ‘taRifx.geo-Ex.R’ failed
The error occurred in:
[ ...SNIP... ]
> ### * </HEADER>
> library('taRifx.geo')
Loading required package: sp
Error in loadNamespace(i, c(lib.loc, .libPaths()), versionCheck = vI[[i]]) :
there is no package called ‘lattice’
Error: package ‘sp’ could not be loaded
Execution halted

package checking手册说:

Before using these tools, please check that your package can be installed (which checked it can be loaded). R CMD check will inter alia do this, but you may get more detailed error messages doing the install directly.



但是当我这样做时(确保使用 R-devel,加载了 --vanilla ),我没有得到任何错误:
# 1) 
install.packages("taRifx.geo_1.0.6.tar.gz",repos=NULL)
# 2)
library(taRifx.geo)
# 3) Profit.

如果我运行 R CMD check通过 RStudio 或命令行 R(但不是 -devel 版本),我也没有收到任何错误。

问题是,当我在整个项目的代码中搜索“lattice”时,我找不到任何使用它的案例,即使在示例文件中也是如此。 lattice已安装,我尝试在 Suggests 中检查格子而没有。

项目代码在这里: https://github.com/gsk3/taRifx.geo

检查日志是 here .

现在的问题是:我该如何调试?我对问题可能出在哪里有一些想法(取决于几个包而不是导入,并且空间包往往具有非常复杂的命名空间),但除非我可以重现错误,否则我无法真正开始解决它除 R CMD check 之外的环境通过 R-devel.sh 从命令行运行.

顺便说一下,这是 Under development (unstable) (2014-05-26 r65771) -- "Unsuffered Consequences" .恰如其分地命名。

编辑

以下是 /usr/local/lib/R/site-library的内容:
akima       digest      labeling  plyr          RJSONIO      stringr
bitops evaluate lattice proto R.methodsS3 survival
boot fields mapproj pspline R.oo taRifx
caTools functional maps RandomFields RSQLite taRifx.geo
cluster gdata maptools RColorBrewer R.utils testthat
colorspace geoR MASS Rcpp scales whisker
data.table ggplot2 Matrix RCurl shapefiles xtable
DBI gtable memoise reshape2 sp
devtools gtools munsell rgdal spam
dichromat httr nlme rgeos splancs
lattice描述文件说:
Depends: R (>= 2.15.1)
Built: R 3.2.0; x86_64-unknown-linux-gnu; 2014-05-29 17:14:03 UTC; unix
CMD check 上还是同样的错误.

最佳答案

我一直在尝试安装到位于 "/usr/local/lib/R/site-library" 的站点范围的库中。这并没有解决它,但我反而暴力解决了一个解决方案。

首先,找到 R 可能出现的所有位置:

> .libPaths()
[1] "/usr/local/lib/R/site-library"
[2] "/usr/lib/R/site-library"
[3] "/usr/lib/R/library"
[4] "/usr/local/lib/R-devel/lib/R/library"

然后,以 root 身份依次安装到其中的每一个,直到错误消失。事实证明,它是 "/usr/local/lib/R-devel/lib/R/library" :
install.packages(c('lattice','sp'),lib="/usr/local/lib/R-devel/lib/R/library")

然后 q()那个 R-devel session 和运行 R-devel.sh CMD check mypackage.tar.gz --as-cran .

至于为什么需要 lattice首先,我怀疑它正在拉 .Rdata启动时的文件,其中包含 lattice在命名空间中。

非常感谢@DirkEddelbuettel 和@GavinSimpson 在正确方向上的各种插入。

关于r - 如何调试在狭窄的情况下R CMD检查失败的情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23938865/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com