devtools::load_all() 当函数 x 是加载包的一部分时“找不到函数 x”

Ari*_*man 5 r devtools

我最近收到此错误消息:

> load_all(file.path(.db,"R-projects","taRifx.geo"))
Loading taRifx.geo
Error in eval(expr, envir, enclos) : could not find function "Polygons"
Run Code Online (Sandbox Code Playgroud)

该文件夹是我的本地副本:https : //github.com/gsk3/taRifx.geo

Polygons是 的一部分sp,并sp已加载:

> Polygons
function (srl, ID) 
{
    stopifnot(is.list(srl))
    stopifnot(length(srl) > 0)
    if (any(sapply(srl, function(x) !is(x, "Polygon")))) 
        stop("srl not a list of Polygon objects")
    if (missing(ID)) 
        stop("Single ID required")
    if (length(ID) != 1) 
        stop("Single ID required")
    ID <- as.character(ID)
    stopifnot(nchar(ID) > 0)
    res <- .Call(Polygons_c, srl, ID)
    res
}
<environment: namespace:sp>
Run Code Online (Sandbox Code Playgroud)

sp也在包的Depends部分中DESCRIPTION。

在加载包时是否有一个奇怪的作用域load_all无法看到Polygons?如果是这样,我该如何诊断/修复?

Ari*_*man 0

看来第一次加载它时,它失败了(但加载了依赖项),所以等待一秒钟并重试对我来说一直有效:

try( load_all("taRifx.geo",reset=FALSE) )
Sys.sleep(1)
try( load_all("taRifx.geo",reset=FALSE) )
Run Code Online (Sandbox Code Playgroud)

不确定这reset=FALSE是否完全必要。