У меня есть простой сценарий оболочки, который создает мои документы 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 () как , описанную ранее в StackOverflow . Решением является использование параметра use.Rd2 = TRUE с roxygenize. Ну, я хочу построить из командной строки, поэтому я изменил эту строку
R CMD roxygen -d myPackage
до следующей строки, которая проталкивает линию окисления в R через стандартный ввод:
echo 'require("roxygen"); roxygenize("myPackage", roxygen.dir="myPackage",
copy.package=FALSE, use.Rd2=TRUE)' | R --no-save < /dev/stdin
Этот , кажется, работает просто денди. Но это кажется немного запутанным. Есть ли более простой и / или более элегантный способ?