Piszę skrypt, który używa roxygen2 do automatycznego zamaskowania mojego pakietu. Chciałbym, aby był wykonywalnym, aby mógł być częścią większego skryptu do przygotowania i instalacji pakietu, ale nie mogę sprawić, żeby działał z Rscript z jakiegoś powodu.Nie można wywołać funkcji roxygenize z pliku wsadowego Rscript
Oto kod:
#!/usr/bin/env Rscript
library(roxygen2)
roxygenize('.', copy=FALSE)
To działa prawidłowo, jeśli zacznę interaktywną sesję R lub przesłać kod za pomocą R CMD partii. Jednak otrzymuję to wyjście i błąd, jeśli uruchomię skrypt bezpośrednio jako plik wykonywalny przez Rscript (i otrzymam błąd niezależnie od tego, czy skrypt znajduje się w bieżącym katalogu lub w 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
Wygląda na to, że setPackageName znajduje się w bazie R, więc nie wiem, dlaczego jej nie ma. Dodatkowo używam Rscript w wielu innych sytuacjach i wydaje mi się, że to jedyne miejsce, w którym się nie udaje.
Każda pomoc jest doceniana.
To był błąd w tlenie. Dopóki nie pojawi się kolejna wersja, obejmij ją, jawnie ładując metody i narzędzia. – hadley
Dzięki, Hadley. Nie wiedząc dlaczego doprowadzało mnie to do szału. –