7

roxygen2を使用してパッケージを自動的にroxygenizeするスクリプトを作成しています。パッケージを準備してインストールするためのより大きなスクリプトの一部となるように実行可能にしたいのですが、何らかの理由でRscriptで動作させることができません。

コードは次のとおりです。

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

これは、インタラクティブなRセッションを開始した場合、またはRCMDBATCHを使用してコードを送信した場合に正しく機能します。ただし、スクリプトをRscriptを介して実行可能ファイルとして直接実行すると、この出力とエラーが発生します(スクリプトが現在のディレクトリにあるかbinにあるかに関係なく、エラーが発生します)。

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を使用していますが、これが失敗する唯一の場所のようです。

どんな助けでも大歓迎です。

4

1 に答える 1

5

パッケージmethodsを明示的にロードし、ロードして呼び出すutils前に。roxygen2roxygenize()

#!/usr/bin/env Rscript
library(methods)
library(utils)
library(roxygen2)
roxygenize('.', copy=FALSE)
于 2012-09-26T13:12:42.687 に答える