未从 Additional_repositories 安装 R 包依赖项(重新访问)
R package dependencies not installed from Additional_repositories (revisited)
我正在尝试准备一个包以提交给 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'
我已通读
- R package dependencies not installed from Additional_repositories
- http://thecoatlessprofessor.com/programming/r-data-packages-in-external-data-repositories-using-the-additional_repositories-field/
- How should I deal with "package 'xxx' is not available (for R version x.y.z)" warning?
不幸的是,上述错误仍然存在。我对我正在使用的 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 (
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. ")
}
您不能在 Depends: 或 Imports:.
中拥有来自非标准仓库的包
您可以将它们放入建议中:
有几个软件包可以做到这一点;您可以查看的是 hurricaneexposure which uses this to make a 'too-large-for-CRAN' data package hurricanexposuredata available from a repository created via drat.
因此您必须将 smwrQR 包移动到 Suggests: 然后对其进行测试。
Brooke 和我有一份关于此的草稿(正在审核中),如果您给我们留言,我们可以将其发送给您——它比简短的回答更详细地介绍了所有这些内容。
我正在尝试准备一个包以提交给 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'
我已通读
- R package dependencies not installed from Additional_repositories
- http://thecoatlessprofessor.com/programming/r-data-packages-in-external-data-repositories-using-the-additional_repositories-field/
- How should I deal with "package 'xxx' is not available (for R version x.y.z)" warning?
不幸的是,上述错误仍然存在。我对我正在使用的 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 (
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. ")
}
您不能在 Depends: 或 Imports:.
中拥有来自非标准仓库的包您可以将它们放入建议中:
有几个软件包可以做到这一点;您可以查看的是 hurricaneexposure which uses this to make a 'too-large-for-CRAN' data package hurricanexposuredata available from a repository created via drat.
因此您必须将 smwrQR 包移动到 Suggests: 然后对其进行测试。
Brooke 和我有一份关于此的草稿(正在审核中),如果您给我们留言,我们可以将其发送给您——它比简短的回答更详细地介绍了所有这些内容。