4

我正在使用packrat我的本地 R 包。我正在尝试将其添加MultinomialCI为依赖项,但无法将其加载到packrat. 特别是,我不知道如何手动快照。

Rstudio 的包查看器看起来与此类似:

| Name          | Description | Version | Packrat | Source    |  
|-------------------------------------------------------------|  
| MultinomialCI | blah blah   | 1.0     |         |           |
|-------------------------------------------------------------|  

我了解我希望该Packrat字段为非空或匹配Version字段中的 1.0。我不确定为什么Source是空白 - 也许这是问题的一部分?我使用 CRAN 从 CRAN 安装 MultinomialCI install.packages

我也尝试packrat::snapshot过手动运行快照:

> packrat::snapshot()
Error in findLocalRepoForPkg(pkg, repos, fatal = fatal) : 
  No package 'file182c4636542b' found in local repositories specified

我对“No package '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
4

1 回答 1

0

我一遍又一遍地遇到这个错误,所以我写了一个小递归来重新启动这个过程,直到它完成。

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()
于 2020-04-01T12:13:05.520 回答