Ранее я был в состоянии успешно собрать этот пакет, и он прошел все проверки, когда я позвонил devtools::check()
без предупреждений / примечаний.Я только что добавил несколько новых функций и обновил документацию, и теперь, когда я пытаюсь запустить devtools::document(roclets=c('rd', 'collate', 'namespace'))
, я получаю следующую ошибку: «Ошибка: оператор $ недопустим для атомарных векторов».
У меня естьпопытался использовать roxygen2 :: roxygenize и найти в моем коде любые случайные "$", но безуспешно.Я не уверен, где я мог бы использовать оператор $, который может вызвать эту проблему.
Я обнаружил, что ошибка возникает на этапе "rd" генерации команды roxygenize, так как при запуске devtools::document(roclets=c('collate', 'namespace'))
я получаю другой набор ошибок.В этом случае я получаю длинную серию предупреждений для каждого тега в каждом из моих R-файлов вдоль строк «Предупреждение: @tag [row # x]: неизвестный тег».
Когда я запускаю traceback()
после выполнения devtools::document(roclets=c('rd', 'collate', 'namespace'))
я получаю следующее:
16: paste0("@", x$tag, if (x$file != "") paste0(" [", x$file, "#",
x$line, "]"), ": ", message)
15: make_tag_message(x, paste0(...))
14: warning(make_tag_message(x, paste0(...)), call. = FALSE, immediate. = TRUE)
13: roxy_tag_warning("should have only a single argument")
12: registry[[x$tag]](x)
11: FUN(X[[i]], ...)
10: lapply(tokens, parse_tag, registry = registry)
9: vapply(x, is.null, logical(1))
8: compact(lapply(tokens, parse_tag, registry = registry))
7: parse_tags(tokens, registry = registry, global_options = global_options)
6: .f(call = .l[[1L]][[1L]], srcref = .l[[2L]][[1L]], tokens = .l[[3L]][[1L]],
...)
5: purrr::pmap(list(call = as.list(parsed)[has_tokens], srcref = refs[has_tokens],
tokens = tokens[has_tokens]), block_create, registry = registry,
global_options = global_options)
4: FUN(X[[i]], ...)
3: lapply(files, tokenize_file, registry = registry, global_options = global_options)
2: parse_package(base_path, env = NULL, registry = registry, global_options = options)
1: roxygen2::roxygenize("D:\\Transposon_Work\\packFinder")
Я не уверен, как включение дополнительной документации и добавление функций привели к этой ошибке, так как я искал весь документ для каждого оператора "$"Я использовалЯ подумал, что проблема может быть связана с моим файлом .Rbuildignore, который автоматически генерируется при каждом запуске roxygenize, и выглядит следующим образом: ^. *. Rproj $ ^ .Rproj.user $
Мой github может бытьнайдено здесь: https://github.com/jackgisby/Transposon_Search Кроме того, моя локальная копия имеет следующее: - папка .git - папка .gitignore - .Rproj.user - .Rhistory Они не находятся в .Rbuildignore.