Пакет недоступен в сборке пакета после обновления R с помощью packrat

Недавно я обновился до R 3.1.3 и собираю пакет с помощью RStudio и packrat. Я пытаюсь пересобрать свой пакет, используя встроенный в RStudio инструмент «Сборка и перезагрузка», но это не сработает. Я продолжаю получать следующую ошибку:

Updating standaRd documentation
Loading standaRd
Error in (function (dep_name, dep_ver = NA, dep_compare = NA)  : 
  Dependency package ggplot2 not available.
Calls: suppressPackageStartupMessages ... <Anonymous> -> load_all -> load_depends -> mapply -> <Anonymous>
Execution halted

Exited with status 1.

Дело в том, что у меня ggplot2 установлено во всех местах, включая мои локальные библиотеки и мои библиотеки packrat для этого проекта как для R 3.1.2, так и для R 3.1.3. Я пытался загрузить их, но безрезультатно.

Кроме того, использование devtools::build() и devtools::document() работает, поэтому я предполагаю, что это проблема RStudio?

ПРИМЕЧАНИЕ. Я использую RStudio версии 0.99.235.

РЕДАКТИРОВАТЬ: я также не вижу никакой документации для своего пакета, и, похоже, ее нет в моей библиотеке packrat.

Второй РЕДАКТИРОВАТЬ: с тех пор я удалил R 3.1.3 и вернулся к R 3.1.2, и у меня все еще возникает та же проблема.

Третье EDIT: это мои зависимости:

Depends:
    R (>= 3.1.2),
    ggplot2 (>= 1.0.0),
    grid

person nathaneastwood    schedule 13.03.2015    source источник
comment
Что, если вместо этого вы переместите ggplot в Imports? Помещение пакетов в Depends считается сомнительной практикой.   -  person tonytonov    schedule 13.03.2015
comment
Можете ли вы построить из командной строки?   -  person Carl Witthoft    schedule 13.03.2015
comment
У меня по-прежнему возникает та же проблема, если я помещаю ggplot2 в поле «Импорт». У меня всегда был такой пакет, и только когда я обновил R, у меня начались проблемы. Я не уверен, как построить из командной строки, но devtools::build() работает нормально...   -  person nathaneastwood    schedule 13.03.2015


Ответы (1)


packrat, кажется, не очень хорошо справляется с этим, и мне всегда не удается найти документацию, которую я ищу. Мне удалось заставить его установить пакеты для новой версии, но я точно не знаю, какие шаги были решающими и в каком порядке.

packrat.lock содержал ссылку на старый RVersion. Это можно обновить вручную, но packrat::snapshot() тоже сделал это за меня. После этого я попробовал packrat::restore() и не увидел нового каталога для версии R в PROJECT/packrat/lib/ARCH/. Я попытался перезапустить и перезагрузить RStudio, проект и packrat несколько раз и в конце концов смог установить туда пакеты. Еще одна перезагрузка проекта, и пакеты можно было увидеть.

Я думаю, что для этого есть «благословенная» последовательность команд, и раньше мне было проще.

person Sam Brightman    schedule 11.05.2018