我正在编写一个 R 包,我需要它在用户潜入之前运行一小段代码。具体来说,这是我的.onAttach()
:
#' @importFrom httr GET
.onAttach <- function(libname, pkgname) {
url <- "http://news.bbc.co.uk"
sink <- GET(url)
}
httr
列在我的说明文件的导入部分下。
我的问题是当我运行时R CMD check
出现以下错误:
Error : .onAttach failed in attachNamespace() for 'scholar', details:
call: default_ua()
error: could not find function "packageVersion"
Error: package or namespace load failed for 'scholar'
由于packageVersion()
is in utils
,我猜这在包加载过程的这个阶段不可用,我可以通过添加library(utils)
第一行来“解决”这个问题,.onAttach()
但是我得到了这个注意:
* checking dependencies in R code ... NOTE
'library' or 'require' call to 'utils' in package code.
Please use :: or requireNamespace() instead.
See section 'Suggested packages' in the 'Writing R Extensions' manual.
我尝试用替换库调用,requireNamespace("utils")
但这也无济于事。
对于如何解决此问题的任何建议,我将不胜感激;我自己的搜索没有发现任何有用的东西。