Как сделать снимок R пакета для упаковки?

Я использую packrat для моего местного пакета R. Я пытаюсь добавить MultinomialCI как зависимость, но я не могу загрузить его в packrat, В частности, я не знаю, как сделать снимок вручную.

Просмотрщик пакетов Rstudio выглядит примерно так:

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

Я понимаю я хочу Packrat поле должно быть не пустым или соответствовать 1.0 в Version поле. Я не уверен почему Source пусто - возможно, это является частью проблемы? Я установил MultinomialCI из CRAN, используя install.packages,

Я попытался запустить снимок вручную с 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

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()
Другие вопросы по тегам