Reputation: 16637
I'm learning to build my own packages using RStudio. The current .tar.gz
for the package (named SteenSubsSpec
) is here. Currently the Build & Reload
command appears to build & Roxygen-ize the package successfully. However, the functions do not appear to be loaded into memory, despite the fact Build & Reload
successfully updates the documentation. What am I doing wrong?
Build & Reload
give the following output:
==> roxygenize('.', roclets=c('rd'))
==> R CMD build 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]
This updates the documentation: ?write_paper()
displays the current documentation as expected. However
require(SteenSubsSpec)
write_paper()
gives Error: could not find function "write_paper"
Some things that seem to be correct:
R
directory, and have the same name as their definition (e.g /R/write_paper.R
defines write_paper() <- function {...
DESCRIPTION
file contains the names of all the relevant function files: Collate: ... 'write_paper.R
How can I troubleshoot this?
Upvotes: 12
Views: 4007
Reputation: 193687
Most likely, the functions are not exported to the NAMESPACE file (which you state is currently empty).
In RStudio, under "build tools" in "project options", make sure that "Generate documentation with roxygen" is checked. Then, click on "configure". Make sure that "Use roxygen to generate NAMESPACE file" is also checked.
In your R function files, add an @export yourfunctionname
in there (or, technically, an #' @export yourfunctionname
), and when you build and reload, your NAMESPACE file should be updated and your functions should no longer be invisible.
Upvotes: 17