我正在将packrat
用于本地R程序包。我试图将MultinomialCI
添加为依赖项,但无法将其加载到packrat
中。特别是,我不知道如何手动快照。
Rstudio的软件包查看器看起来与此类似:
| Name | Description | Version | Packrat | Source |
|-------------------------------------------------------------|
| MultinomialCI | blah blah | 1.0 | | |
|-------------------------------------------------------------|
我知道我希望Packrat
字段为非空或与Version
字段中的1.0匹配。我不确定Source
为什么为空白-也许这是问题的一部分?我使用install.packages
从CRAN安装了MultinomialCI。
我也尝试过使用packrat::snapshot
手动运行快照:
> packrat::snapshot()
Error in findLocalRepoForPkg(pkg, repos, fatal = fatal) :
No package 'file182c4636542b' found in local repositories specified
我为“无软件包'file182c4636542b'...”感到烦恼。它应该在寻找我包裹的名称,对吗?
我尝试致电packrat::snapshot('C:\\My\\Package\\Directory')
无济于事。同样的错误。 :/
这也是我的会话信息,
> sessionInfo()
R version 3.3.0 (2016-05-03)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows >= 8 x64 (build 9200)
locale:
[1] LC_COLLATE=English_United States.1252 LC_CTYPE=English_United States.1252
[3] LC_MONETARY=English_United States.1252 LC_NUMERIC=C
[5] LC_TIME=English_United States.1252
attached base packages:
[1] stats graphics grDevices utils datasets methods base
loaded via a namespace (and not attached):
[1] tools_3.3.0 packrat_0.4.7-1
我先感谢您的帮助!
我尝试运行packrat::restore
,然后以相同的错误识别了我的软件包名称:
> packrat::restore()
Error in findLocalRepoForPkg(pkg, repos, fatal = fatal) :
No package 'my_pkg' found in local repositories specified
我一遍又一遍地遇到此错误,因此我写了一点递归以重新启动该过程,直到完成为止。
snapshot_install_recurse = function(){
tryCatch(
packrat::snapshot(),
error = function(e) {
pkg =
e$message %>%
strsplit("'") %>%
extract2(1) %>%
extract2(2)
cat("Installing", pkg, "and restarting")
install.packages(pkg)
snapshot_install_recurse()
}
)
}
snapshot_install_recurse()