Ошибка в snapshotSources при инициализации пакета с существующим проектом
Я пытаюсь инициализировать packrat
для существующего проекта, использующего графический интерфейс RStudio (сервер). Я выбираю Git игнорировать библиотеку packrat и источники:
packrat::init(options = list(vcs.ignore.src = TRUE))
Здесь перечислены пакеты, которые будут добавлены:
Adding these packages to packrat:
_
BH 1.65.0-1
DBI 0.7
DT 0.2
...etc
И затем выбирает источники для каждого пакета:
Fetching sources for BH (1.65.0-1) ... OK (CRAN current)
Fetching sources for DBI (0.7) ... OK (CRAN current)
Fetching sources for DT (0.2) ... OK (CRAN archived)
...etc.
Все пакеты, кажется, получают ОК, но после последнего пакета (yaml) я получаю эту ошибку:
Fetching sources for yaml (2.1.16) ... OK (CRAN current)
Error in snapshotSources(project, activeRepos(project), allRecordsFlat) :
Errors occurred when fetching source files:
Error in untar2(tarfile, files, list, exdir, restore_times) :
incomplete block on file
Я прочитал этот вопрос, в котором предлагается установить поврежденный пакет с другого зеркала.... но ошибка, которую я вижу, не относится к конкретному пакету. Я пробовал пару раз с тем же результатом. Есть идеи, как это отладить?
Использование `traceback() дает:
5: stop("Errors occurred when fetching source files:\n", errors)
4: snapshotSources(project, activeRepos(project), allRecordsFlat)
3: snapshotImpl(project, available.packages(contrib.url(activeRepos(project))),
lib.loc = NULL, ignore.stale = TRUE, fallback.ok = TRUE)
2: withCallingHandlers(expr = {
if (isPackratModeOn())
off()
packify(project = project, quiet = TRUE)
augmentRprofile(project)
options <- initOptions(project, opts)
snapshotImpl(project, available.packages(contrib.url(activeRepos(project))),
lib.loc = NULL, ignore.stale = TRUE, fallback.ok = TRUE)
restore(project, overwrite.dirty = TRUE, restart = FALSE)
file.copy(instInitFilePath(), file.path(project, "packrat",
"init.R"))
updateSettings(project, options)
symlinkSystemPackages(project = project)
message("Initialization complete!")
if (enter) {
setwd(project)
if (!restart || !attemptRestart())
on(project = project, clean.search.path = TRUE)
}
invisible()
}, error = function(e) {
for (i in seq_along(priorStructure)) {
file <- names(priorStructure)[[i]]
fileExistedBefore <- priorStructure[[i]]
fileExistsNow <- file.exists(file)
if (!fileExistedBefore && fileExistsNow) {
unlink(file, recursive = TRUE)
}
}
})
1: packrat::init()