首页 > 解决方案 > R:as.environment(pos)中的错误/包装期间的错误:搜索列表中没有名为“package:[package]”的项目

问题描述

这与此类似,但有一个后续问题:

我正在准备我的包裹以提交给 CRAN。在一个脚本中,它给出了名义上的错误:

Error in as.environment(pos): no item called "package:shapefiles" on the search list

或者

Error during wrapup: no item called "package:shapefiles" on the search list

如果像上面链接的类似线程一样,我添加

attachNamespace("shapefiles")

然后我不再收到该错误,而是有时会收到错误或警告:

namespace(shapefiles) was already taken

我相信如果函数/脚本运行不止一次,就会发生这种情况。这对我来说很奇怪的是

#' @import shapefiles

在该脚本的降价块中,

意思是

import(shapefiles)

在 NAMESPACE 中,并且

Imports:
    shapefiles (>= 0.7),

在说明中。我有许多其他以相同方式导入的包依赖项(我相信是正确的),但它们都不会产生此错误。因此,我不明白为什么会有不同的行为,并且希望在提交给 CRAN 之前避免遇到任何一个问题。在我的脚本中调用这个包的代码是

shapefiles::read.shapefile(savename)

脚本在这里,供参考。

提前感谢您的任何想法!

编辑:重现步骤:

setwd("/folder")
library(devtools)
install_github("SimonDedman/gbm.auto")
library(gbm.auto)
gbm.basemap(bounds = c(-81.7, -80.3, 24.7, 25.9),
            savedir = "/folder")

我刚刚shapefiles::从代码中删除。无论如何都会产生正确的输出。

标签: rnamespacespackagedependenciescran

解决方案


注释掉后问题自行解决attachNamespace("shapefiles")。不知道为什么。


推荐阅读