2013-09-04 31 views
10

Tôi đang học cách xây dựng các gói của riêng mình bằng RStudio. .tar.gz hiện tại cho gói hàng (có tên SteenSubsSpec) là here. Hiện tại, lệnh Build & Reload xuất hiện để xây dựng thành công gói & Roxygen-ize. Tuy nhiên, các chức năng dường như không được nạp vào bộ nhớ, mặc dù thực tế Build & Reload cập nhật thành công tài liệu. Tôi đang làm gì sai?không được tải từ gói homebuilt

Build & Reload cung cấp cho các đầu ra sau đây:

==> roxygenize('.', roclets=c('rd')) 
  • kiểm tra các thay đổi ... Làm

==> R CMD xây dựng SteenSubsSpec

* checking for file ‘SteenSubsSpec/DESCRIPTION’ ... OK 
* preparing ‘SteenSubsSpec’: 
* checking DESCRIPTION meta-information ... OK 
* excluding invalid files 
Subdirectory 'R' contains invalid file names: 
    ‘2013_08_30_report-concordance.tex’ ‘2013_08_30_report.Rnw’ 
    ‘2013_08_30_report.log’ ‘2013_08_30_report.pdf’ 
    ‘2013_08_30_report.synctex.gz’ ‘2013_08_30_report.tex’ 
* checking for LF line-endings in source and make files 
* checking for empty or unneeded directories 
Removed empty directory ‘SteenSubsSpec/inst’ 
* building ‘SteenSubsSpec_1.0.tar.gz’ 

Source package written to ~/Dropbox/[my directory] 

này cập nhật các tài liệu : ?write_paper() hiển thị tài liệu hiện tại ation như mong đợi. Tuy nhiên

require(SteenSubsSpec) 
write_paper() 

cho Error: could not find function "write_paper"

Một số điều mà dường như là đúng:

  • Tất cả các file chức năng nằm trong thư mục R, và có tên giống như định nghĩa của họ (ví dụ /R/write_paper.R định nghĩa write_paper() <- function {...
  • Tệp DESCRIPTION chứa tên của tất cả các tệp chức năng có liên quan: Collate: ... 'write_paper.R

Tôi làm cách nào để khắc phục sự cố này?

+0

Bạn đã xuất các chức năng để làm cho chúng có sẵn trong không gian tên? Bạn có thể truy cập nó với 'SteenSubsSpec ::: write_paper()'? – A5C1D2H2I1M1N2O1R2T1

+0

Tôi đoán là không - tôi thực sự không biết điều đó có nghĩa là gì, nhưng sẽ bắt đầu googling. Lưu ý rằng tệp NAMESPACE trống. –

+1

thì đó có thể là vấn đề rất có thể :) – A5C1D2H2I1M1N2O1R2T1

Trả lời

9

Rất có thể, các chức năng không được xuất sang tệp NAMESPACE (trạng thái bạn hiện đang trống).

Trong RStudio, trong "công cụ xây dựng" trong "tùy chọn dự án", hãy đảm bảo rằng "Tạo tài liệu với roxygen" được chọn. Sau đó, nhấp vào "cấu hình". Đảm bảo rằng "Sử dụng roxygen để tạo tệp NAMESPACE" cũng được chọn.

Trong tệp hàm R, thêm @export yourfunctionname vào đó (hoặc, về mặt kỹ thuật, #' @export yourfunctionname) và khi bạn tạo và tải lại, tệp NAMESPACE của bạn sẽ được cập nhật và chức năng của bạn sẽ không còn bị ẩn nữa.

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