问题在于
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)
检查
内部/外部数据
也不会给你看
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号,它不仅显示了有问题的代码,而且还帮助显示了它来自哪个文件以及在哪个行上。
问题的根源:你的
.gitignore
在你
吉蒂格诺
你有台词
inst/extdata/
inst/extdata/*
这意味着中的所有文件和子文件夹
inst/extdata/
不会被跟踪,因此当用户尝试从GitHub安装时,他们不会获得
extdata/
它们需要的文件才能使您的包正常工作。
作为旁注,即使用户下载您的回购并手动添加
输入输出
和
输出命令
,由于同样的原因,它们没有您希望它们拥有的其他模板目录,因此构建vignette会导致安装错误。