Roxygen2 сообщает об ошибке: файл уже существует.../RcppExports.cpp

Я занимаюсь написанием пакетов R с Rcpp, devtools и roxygen2. Однако, когда я запускаю document("mypkg") в режиме dev, я получаю следующую ошибку:

Updating mypkg documentation
Loading mypkg
Error: file already exists: 'mypkg/src/RcppExports.cpp'

Мой файл RcppExports.cpp очень похож на файл Rcpp.package.skeleton по умолчанию.

Что здесь может пойти не так?

Я понимаю, что, вероятно, мне следует предоставить более актуальную информацию, но я не имею ни малейшего понятия. Я был бы счастлив поместить больше здесь, если у кого-нибудь есть предложение.

С уважением,

2 ответа

Сообщение file already exists происходит от этой линии вRcpp

И isSafeToOverwrite выглядит так:

    // Check whether it's safe to overwrite this file (i.e. whether we
    // generated the file in the first place)
    bool isSafeToOverwrite() const {
        return existingCode_.empty() ||
               (existingCode_.find(generatorToken()) != std::string::npos);
    }

Поэтому я думаю, что что-то случилось с токеном генератора, compileAttributes помещает сверху файла.

Хм, "работает для меня", но я не использую devtools.

я мог бы

  • начать с новой упаковки, чтобы увидеть, если / где она ломается

  • убедитесь, что вас не укусили проблемы до / после roxygen2 4.0 (есть скрипт конвертера)

  • возможно попробуйте с / без devtools - я с удовольствием использую build & reload в RStudio все время на текущем (не публичном) пакете, использующем roxygen2 вместе с Rcpp

Другие вопросы по тегам