【发布时间】:2010-12-07 19:40:40
【问题描述】:
我有一个简单的 shell 脚本,用于构建我的 Roxygen 文档、构建包、检查,然后在我的机器上安装新构建的包。很简单:
#! /bin/sh
R CMD roxygen -d myPackage
R CMD build myPackage/
R CMD check myPackage_0.01.tar.gz
R CMD INSTALL myPackage myPackage_0.01.tar.gz
但是我在使用 Roxygen 将我的 .onLoad() 函数作为 described previously on StackOverflow 时遇到问题。解决方案是将 use.Rd2=TRUE 选项与 roxygenize 一起使用。好吧,我想从命令提示符构建,所以我更改了这一行
R CMD roxygen -d myPackage
到以下行,该行通过标准输入将 roxygenize 行推到 R:
echo 'require("roxygen"); roxygenize("myPackage", roxygen.dir="myPackage",
copy.package=FALSE, use.Rd2=TRUE)' | R --no-save < /dev/stdin
这似乎很管用。但是感觉有点绕。有没有更简单和/或更优雅的方法?
【问题讨论】:
-
如果有效,有什么不喜欢的?
-
我记得有一次通过手动编辑 JAVA_HOME 环境变量来修复 rJava 问题。虽然这有效,但似乎不是最理想的。所以我想我会确保我不会重复类似的错误。
-
我使用了一个基本上执行相同操作的 Makefile。就像 Dirk 说的,如果它有效,它就有效……但如果它没有损坏,一些程序员通常会尝试修复它。 :p