Проблема в том, что в R/utils.R
вы пытаетесь прочитать файлы из inst/extdata
, которые не существуют (это из строк 36 и 37):
INPUT.DEFS <- readr::read_delim(system.file("extdata", "input_defs.txt", package = "hisafer"), "\t", col_types = readr::cols())
OUTPUT.DEFS <- dplyr::arrange(readr::read_delim(system.file("extdata", "output_defs.txt", package = "hisafer"), "\t", col_types = readr::cols()), profile, name)
Проверка inst/extdata
будетпокажет вам, что input_defs.txt
и output_defs.txt
не существует.
Как я это выяснил?
Я запустил
devtools::load_all("hisafer/")
, что также дает ошибку
Ошибка: '' не существует в текущем рабочем каталоге
, но позволяет отображать информативную обратную трассировку:
13.stop("'", path, "' does not exist", if (!is_absolute_path(path)) paste0(" in current working directory ('",
getwd(), "')"), ".", call. = FALSE)
12.check_path(path)
11.standardise_path(file)
10.read_delimited(file, tokenizer, col_names = col_names, col_types = col_types,
locale = locale, skip = skip, comment = comment, n_max = n_max,
guess_max = guess_max, progress = progress)
9.readr::read_delim(system.file("extdata", "input_defs.txt", package = "hisafer"),
"\t", col_types = readr::cols()) at utils.R#36
8.eval(exprs[i], envir)
7.eval(exprs[i], envir)
6.source_one(file, envir = envir)
5.source_many(paths, env)
4.force(code)
3.withr_with_dir(file.path(pkg$path), source_many(paths, env))
2.load_code(pkg)
1.devtools::load_all("hisafer/")
Уведомление № 9 вtraceback, который не только отображал проблемный код, но и содержательно показал, из какого файла он пришел и в какой строке он был.
Источник проблемы: Ваш .gitignore
В вашем.gitignore
, у вас есть строки
inst/extdata/
inst/extdata/*
, что означает, что все файлы и подпапки в inst/extdata/
не отслеживаются, поэтому, когда пользователи пытаются установить из GitHub, они не получают extdata/
файлы, необходимые для правильной работы вашего пакета.
В качестве примечания, даже если пользователь загружает ваш repo и вручную добавляет в input_defs.txt
и output_defs.txt
, у них не будет других каталогов шаблонов, которые вы хотите иметь по той же причине, поэтому сборка виньеток вызывает ошибку при установке.