Невозможно вызвать функцию roxygenize из командного файла Rscript

Я пишу скрипт, который использует roxygen2 для автоматической кислородизации моего пакета. Я бы хотел, чтобы он был исполняемым, чтобы он мог быть частью более крупного скрипта для подготовки и установки пакета, но по какой-то причине я не могу заставить его работать с Rscript.

Вот код:

#!/usr/bin/env Rscript
library(roxygen2)
roxygenize('.', copy=FALSE)

Это работает правильно, если я запускаю интерактивный сеанс R или отправляю код с помощью R CMD BATCH. Однако я получаю этот вывод и ошибку, если запускаю сценарий напрямую как исполняемый файл через Rscript (и я получаю сообщение об ошибке независимо от того, находится ли сценарий в текущем каталоге или в корзине).

bin/roxygenize.R 
Loading required package: digest
Warning message:
package 'roxygen2' was built under R version 2.13.2 
Error in parse.files(r_files) : could not find function "setPackageName"
Calls: roxygenize -> parse.files
Execution halted

Похоже, что setPackageName находится в базе R, поэтому я не могу понять, почему его там нет. Кроме того, я использую Rscript во многих других ситуациях, и это, кажется, единственное место, где он терпит неудачу.

Любая помощь приветствуется.

7
задан Erik Shilts 22 January 2012 в 20:42
поделиться