#r #renv
#r #renv
Вопрос:
Я не могу полностью восстановить один пакет в renv
файле блокировки, но я могу установить другую версию этого пакета. Итак, мне интересно, могу ли я вручную перезаписать версию пакета в файле блокировки. Мне нужно просто заменить номер версии? Должен ли я также изменить хэш? Каковы последствия?
Ответ №1:
Вы можете — renv.lock
это просто JSON, поэтому вы можете изменить его по мере необходимости, если вам нужно настроить конкретную запись. (Или вы можете использовать renv::record(<package>@<version>)
для явного обновления файла блокировки с помощью renv
API.)
Если вы изменяете записи в renv.lock
, обычно следует удалить компонент хэша для измененных записей. Хэш используется для кэширования; он позволяет renv::restore()
восстановить пакет из глобального renv
кэша, если он доступен, тем самым избегая извлечения сборки установки пакета.
Если он не установлен, то renv
не будет использовать кеш и вместо этого всегда пытаться извлечь пакет из заявленного источника (что кажется подходящим для вашего случая).
Комментарии:
1. Спасибо! Можете ли вы подтвердить, что следующий формат подходит:
renv::record(nloptr@1.2.1)