未从Additional_repositories安装R包依赖项(重新访问)

时间:2017-03-15 19:51:58

标签: r cran submission

我正在尝试准备一份提交给CRAN的软件包。在我的DESCRIPTION文件中,我在Depends和Suggests参数中包含了非CRAN包。要告诉R在哪里找到非CRAN包,我包含Additional_repositories参数;我在程序的顶部包含一个.onLoad函数(即在'zzz.R'中)。只要所有Depends和Suggests包都存在,我就可以在RStudio中构建和检查(--as-cran)零警告,注释或错误。然后我使用devtools :: build()在本地创建.tar.gz文件。

要测试本地安装是否成功,我从计算机中删除了非CRAN软件包,并尝试安装我创建的.tar.gz文件。然后我收到消息:

ERROR: dependency 'smwrQW' is not available for package 'baytrends' 

我已经阅读了

不幸的是,上述错误仍在继续。我对我正在使用的URL充满信心,因为下面的install.package行在独立运行时可以正常工作

install.packages('smwrQW',repos=c("http://owi.usgs.gov/R"),dependencies = TRUE)

DESCRIPTION和zzz.R文件的适用位如下:

描述:

Date: 2017-03-15
Depends:
    R (>= 3.2.0),
    lubridate,
    mgcv,
    smwrQW
License: GPL-3
LazyData: TRUE
RoxygenNote: 6.0.1
Suggests:
    dataRetrieval,
    devtools,
    fitdistrplus,
    knitr,
    nlme,
    pander,
    plyr,
    rmarkdown,
    smwrBase,
    smwrGraphs,
    smwrStats,
    testthat
Additional_repositories: http://owi.usgs.gov/R
VignetteBuilder: knitr

zzz.R:

.onLoad <- function(libname = find.package("baytrends"), pkgname = "baytrends"){

  repos = getOption("repos")
  repos["USGS"] = "http://owi.usgs.gov/R"
  options(repos = repos)
  invisible(repos)

  # declaration of global variables (https://stackoverflow.com/questions/9439256)
  if(getRversion() >= "2.15.1")
    utils::globalVariables(c("begin", "methodsList"))
  invisible()

}

.onAttach <-  function(libname = find.package("baytrends"), pkgname = "baytrends"){
  packageStartupMessage("This software program is preliminary or provisional and is subject to revision. ")
}

1 个答案:

答案 0 :(得分:3)

可以在建议中使用它们

有几个包这样做;你可以看到的是hurricaneexposure,它使用它来制作一个过于庞大的CRAN&#39;数据包hurricanexposuredata可通过repository创建的drat获得。

所以你必须将smwrQR包移动到Suggests:然后测试它。

布鲁克和我有一份草案(正在审查中),如果你放弃我们,我们可以发送给你 - 它详细说明了所有这些,而不是简短的回答。