13

我正在尝试使用 devtools 创建一个包。我想设置一些选项,以便自动填充DESCRIPTION文件。我似乎无法正确处理。

我认为这是一个可以轻松手动修复的问题,但我希望它可以在代码中工作。担心这个错误会影响我以后。关于适当语法的任何建议?我的函数在一个名为“R”的文件夹中。我将工作目录设置为 R 的父文件夹。然后:

library(devtools)

install_github("devtools")

options(devtools.desc.author="First Last <first.last@example.com> [aut, cre]")

options(devtools.desc.license="GPL-3")

load_all()

这输出:

No DESCRIPTION found. Creating default:

Package: mypackage
Title: 
Description: 
Version: 0.1
Authors@R: First Last <first.last@example.com> [aut, cre]
Depends: R (>= 3.0.1)
License: GPL-3
LazyData: true
Loading mypackage
Invalid DESCRIPTION:
Malformed Authors@R field:
 <text>:1:7: unexpected symbol
1: First Last
         ^

Required fields missing:
  Author Maintainer

See the information on DESCRIPTION files in section 'Creating R packages' of the 'Writing R Extensions' manual.

我知道在某种程度上 Authors@R 字段可以/正在以某种方式替换维护者字段,但想知道如何让它停止抛出错误,以及它们的含义。

提前致谢!

4

1 回答 1

15

不幸的是,您需要:

options(devtools.desc.author="'First Last <first.last@example.com> [aut, cre]'")

因为 的内容Authors@R必须是有效的 R 表达式。

或者使用包中的person函数utils

authors_at_r <- paste0(
  "'", 
  person(
    "First", 
    "Last", 
    email = "first.last@example.com", 
    role  = c("aut", "cre")), 
  "'"
)
options(devtools.desc.author=authors)
于 2013-07-15T20:00:51.523 回答