2012-09-07 33 views
20

Từ Writing R Extensions Manual, tôi đọc màNơi đặt các họa tiết gói để gửi CRAN?

Kể từ R 2.14.0 vị trí thuận lợi nhất để các nguồn Sweave là họa tiết thư mục con của các gói nguồn, nhưng đối với khả năng tương thích với các phiên bản trước đó của R, nguồn họa tiết sẽ được tìm kiếm trong inst/doc nếu họa tiết không tồn tại.

Tuy nhiên, khi tôi tạo một thư mục con vignettes của nguồn gói, khi tôi chạy devtools::check() hoặc R CMD check tôi nhận được một cảnh báo cho Package vignette(s) without corresponding PDF. Nếu tôi đặt họa tiết (.Rnw và .pdf) vào inst/doc, séc sẽ hoàn tất mà không có khiếu nại. Tôi đã thử tìm kiếm trong thư viện của tôi tại cài đặt đóng gói và không thấy bất kỳ thư mục có tên vignettes. Tôi có nên sử dụng vị trí không dùng nữa không?

Trả lời

20

Bạn đặt .Rnw nguồn trong vignettes/ như bạn đã làm, nhưng bạn đã bỏ lỡ một bước quan trọng; không kiểm tra cây nguồn. Luồng công việc dự kiến ​​là xây dựng tarball nguồn và sau đó kiểm tra tarball đó. Xây dựng tarball sẽ tạo PDF họa tiết.

R CMD build ../foo/pkg 
R CMD check ./pkg-0.4.tar.gz 

ví dụ sẽ xây dựng một tarball gói nguồn từ các nguồn trong ../foo/pkg tạo gói .tar.gz trong thư mục hiện với tên gói và phiên bản nối. Sau đó, bạn chạy R CMD check trên gói nguồn đó.

Nếu bạn muốn họa tiết của mình được tạo cho bạn, hãy đặt nó trong vignettes/ và tạo gói nguồn. Vào một số ngày trong tương lai, R Core có thể xóa khả năng xây dựng các họa tiết từ inst/doc vì vậy hãy đi với vị trí được khuyên dùng ngay bây giờ và tránh kiểm tra các nguồn trực tiếp.

13

Tôi cũng gặp khó khăn khi diễn giải điều này.

Tôi tin rằng bạn nên đặt tệp .Rnw trong vignettes/ và PDF (được nén gọn) trong inst/doc/, về mặt kỹ thuật đồng ý với tài liệu nếu bạn đọc kỹ đủ. (Tức là, nó nói nguồn nên đi trong vignettes/. Tôi không thấy nơi nó nói trong rất nhiều từ mà bạn nên đặt PDF tương ứng trong inst/doc/, nhưng nó không không nói điều đó, và giải thích đó dường như làm cho R CMD check hạnh phúc ...)

Độ phân giải nằm trong câu trả lời của @ GavinSimpson (tức là người ta dự kiến ​​xây dựng tarball và sau đó kiểm tra nó, thay vì kiểm tra thư mục nguồn). (hai xu của tôi là nó có thể là tốt nhất nếu R-core chính thức phản đối (và cuối cùng bị loại bỏ) nguồn trực tiếp kiểm tra chứ không phải là khó hiểu tất cả chúng ta Groundlings ...)

+2

Mục đích là để bạn không kiểm tra nguồn gói nhưng để kiểm tra phiên bản * đóng gói *, tức là gói nguồn được tạo bởi tác vụ 'R CMD build'. –

+5

Nếu bạn đặt 'foo.Rnw' và' foo.pdf' trong 'vignettes /', pdf sẽ tự động được chuyển vào thư mục 'doc' đã cài đặt. Không cần can thiệp thủ công qua 'inst/doc'. –

+1

Cái gì khác là sai như nhiều gói, bao gồm một số của tôi tôi chuyển đổi, làm việc với 'vignettes /'. –

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