简而言之,您没有以正确的顺序执行正确的命令。
你的回购本身很好(但需要工作)。
第 1 步:获取 repo
edd@rob:~$ mkdir /tmp/goldensushi
edd@rob:~$ cd /tmp/goldensushi/
edd@rob:/tmp/goldensushi$ git clone git@github.com:GoldenSushi/helpeR.git
Cloning into 'helpeR'...
remote: Counting objects: 186, done.
remote: Compressing objects: 100% (134/134), done.
remote: Total 186 (delta 42), reused 180 (delta 39), pack-reused 0
Receiving objects: 100% (186/186), 66.03 KiB | 1.54 MiB/s, done.
Resolving deltas: 100% (42/42), done.
edd@rob:/tmp/goldensushi$
第 2 步:compileAttributes 和 roxygenize
您必须先运行compileAttributes() 才能从 C++ 中获取 Roxygen 标签
到 R,然后调用 roxygenize 创建 Rd 文件。我为此使用了更小的脚本;其他人可能喜欢开发工具。没关系。你
仍然必须调用正确的底层 R 函数。
edd@rob:/tmp/goldensushi$ cd helpeR/
edd@rob:/tmp/goldensushi/helpeR(master)$ compAttr.r # script: compileAttributes
edd@rob:/tmp/goldensushi/helpeR(master)$ roxy.r # script: roxygenize()
Loading required package: Rcpp
Warning: @export [RcppExports.R#10]: unknown tag
Warning: @export [RcppExports.R#18]: unknown tag
Warning: @export [RcppExports.R#32]: unknown tag
Warning: @useDynLib [_roxyTags.R#2]: unknown tag
Warning: @importFrom [_roxyTags.R#3]: unknown tag
Warning: @export [file_readers.R#8]: unknown tag
Warning: @export [tablemanip.R#6]: unknown tag
Warning message:
Version of roxygen2 last used with this package is 6.0.1.9000. \
You only have version 6.0.1
edd@rob:/tmp/goldensushi/helpeR(master)$
您在使用 roxygen 时似乎也有一些问题。
第 3 步:构建包
我再次使用自己编写的帮助脚本(并在 littler 中发布)。没关系。您需要调用正确的 R 脚本。
edd@rob:/tmp/goldensushi/helpeR(master)$ build.r # convenience script for R CMD build .
* checking for file ‘./DESCRIPTION’ ... OK
* preparing ‘helpeR’:
* checking DESCRIPTION meta-information ... OK
* cleaning src
* excluding invalid files
Subdirectory 'R' contains invalid file names:
‘_roxyTags.R’
* checking for LF line-endings in source and make files and shell scripts
* checking for empty or unneeded directories
* building ‘helpeR_1.0.tar.gz’
edd@rob:/tmp/goldensushi/helpeR(master)$
第 4 步:检查包
我再次使用了一个助手,这次是在 Gabor 的 rcmdcheck() 周围。您也可以拨打R CMD check ...
edd@rob:/tmp/goldensushi/helpeR(master)$ rcc.r helpeR_1.0.tar.gz # convenience script for R CMD check
────────────────────────────────────────────────────────────────────────────────
─ using log directory ‘/tmp/file107a2d75f173/helpeR.Rcheck’
─ using R version 3.4.4 (2018-03-15)
─ using platform: x86_64-pc-linux-gnu (64-bit)
─ using session charset: UTF-8
✔ checking for file ‘helpeR/DESCRIPTION’
─ checking extension type ... Package
─ this is package ‘helpeR’ version ‘1.0’
✔ checking package namespace information
✔ checking package dependencies
W checking if this is a source package
Subdirectory ‘src’ contains:
environment_calls.hpp table.hpp valid.hpp
These are unlikely file names for src files.
✔ checking if there is a namespace
✔ checking for executable files
✔ checking for hidden files and directories
✔ checking for portable file names
✔ checking for sufficient/correct file permissions
─ checking whether package ‘helpeR’ can be installed ... [20s/17s] OK
✔ checking installed package size
✔ checking package directory
N checking DESCRIPTION meta-information
Malformed Title field: should not end in a period.
N checking top-level files
File
LICENSE
is not mentioned in the DESCRIPTION file.
✔ checking for left-over files
✔ checking index information
✔ checking package subdirectories
✔ checking R files for non-ASCII characters
✔ checking R files for syntax errors
✔ checking whether the package can be loaded
✔ checking whether the package can be loaded with stated dependencies
✔ checking whether the package can be unloaded cleanly
✔ checking whether the namespace can be loaded with stated dependencies
✔ checking whether the namespace can be unloaded cleanly
✔ checking loading without being on the library search path
✔ checking dependencies in R code
✔ checking S3 generic/method consistency
✔ checking replacement functions
✔ checking foreign function calls
N checking R code for possible problems
hread_table: no visible global function definition for ‘read.table’
Undefined global functions or variables:
read.table
Consider adding
importFrom("utils", "read.table")
to your NAMESPACE file.
✔ checking Rd files
✔ checking Rd metadata
✔ checking Rd cross-references
✔ checking for missing documentation entries
✔ checking for code/documentation mismatches
W checking Rd \usage sections
Undocumented arguments in documentation object 'neural.arrange'
‘x’
Functions with \usage entries need to have the appropriate \alias
entries, and all their arguments documented.
The \usage entries must correspond to syntactically valid R code.
See chapter ‘Writing R documentation files’ in the ‘Writing R
Extensions’ manual.
✔ checking Rd contents
✔ checking for unstated dependencies in examples
✔ checking line endings in C/C++/Fortran sources/headers
✔ checking compiled code
✔ checking examples
✔ checking PDF version of manual
See
‘/tmp/file107a2d75f173/helpeR.Rcheck/00check.log’
for details.
── 0 errors ✔ | 2 warnings ✖ | 3 notes ✖
edd@rob:/tmp/goldensushi/helpeR(master)$
简而言之:没有问题,Rcpp 肯定没有问题。您只是对其中一些工具缺乏经验,因此我建议您尝试更多地了解它们。
后记
您可能可以使用这些不依赖 littler 的替代命令:
edd@rob:/tmp/goldensushi/helpeR(master)$ Rscript -e 'Rcpp::compileAttributes()'
edd@rob:/tmp/goldensushi/helpeR(master)$ Rscript -e 'roxygen2::roxygenize()'
Loading required package: Rcpp
Warning message:
Version of roxygen2 last used with this package is 6.0.1.9000. You only have version 6.0.1
edd@rob:/tmp/goldensushi/helpeR(master)$ R CMD build .
* checking for file ‘./DESCRIPTION’ ... OK
[...]
* building ‘helpeR_1.0.tar.gz’
edd@rob:/tmp/goldensushi/helpeR(master)$ R CMD check helpeR_1.0.tar.gz
* using log directory ‘/tmp/goldensushi/helpeR/helpeR.Rcheck’
* using R version 3.4.4 (2018-03-15)
[...]
* checking PDF version of manual ... OK
* DONE
Status: 2 WARNINGs, 3 NOTEs
See
‘/tmp/goldensushi/helpeR/helpeR.Rcheck/00check.log’
for details.
edd@rob:/tmp/goldensushi/helpeR(master)$