2013-07-15 21 views
12

Tôi đang cố gắng tạo một gói với devtools. Tôi muốn đặt một vài tùy chọn để tệp DESCRIPTION được tự động điền. Tôi dường như không thể làm đúng.devtools DESCRIPTION file

Đây là vấn đề có thể dễ dàng được sửa bằng tay, tôi nghĩ, nhưng tôi muốn điều này hoạt động trong mã. Lo lắng lỗi sẽ ảnh hưởng đến tôi sau này. Bất kỳ đề xuất về cú pháp thích hợp? Tôi có chức năng của mình trong một thư mục có tên là "R". Tôi đặt thư mục làm việc của tôi để thư mục mẹ cho R. Sau đó:

library(devtools) 

install_github("devtools") 

options(devtools.desc.author="First Last <[email protected]> [aut, cre]") 

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

load_all() 

này kết quả đầu ra này:

No DESCRIPTION found. Creating default: 

Package: mypackage 
Title: 
Description: 
Version: 0.1 
[email protected]: First Last <[email protected]> [aut, cre] 
Depends: R (>= 3.0.1) 
License: GPL-3 
LazyData: true 
Loading mypackage 
Invalid DESCRIPTION: 
Malformed [email protected] 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. 

Tôi biết rằng một cách nào đó Authors @ lĩnh vực R có thể/là một cách nào đó thay thế trường Duy trì, nhưng tự hỏi làm thế nào để có được điều này để ngăn chặn ném lỗi, và những gì họ có ý nghĩa.

Cảm ơn trước!

Trả lời

13

Đáng tiếc là bạn cần:

options(devtools.desc.author="'First Last <[email protected]> [aut, cre]'") 

vì nội dung của [email protected] phải là một biểu thức R hợp lệ.

Hoặc sử dụng person chức năng từ gói utils:

authors_at_r <- paste0(
    "'", 
    person(
    "First", 
    "Last", 
    email = "[email protected]", 
    role = c("aut", "cre")), 
    "'" 
) 
options(devtools.desc.author=authors) 
+1

Với việc bổ sung một giá duy nhất để đóng biểu R, điều này hoạt động hoàn hảo. Cảm ơn! – forlooper

+1

@forlooper - Ở đó, tôi đã thêm dấu trích dẫn còn thiếu. –

+0

@ JoshO'Brien - Cảm ơn bạn, không nhận ra bạn có thể chỉnh sửa phản hồi của người khác – forlooper

Các vấn đề liên quan