2012-09-13 15 views
9

biegnę do problemu przy budowie następujący pakiet: https://github.com/yoni/rbundlerrbundler build błąd: „nie można otworzyć pliku«startup.Rs»: Nie ma takiego pliku lub katalogu”

Moje test próbuje uruchomić polecenie rbundler na bundle na trywialny pakiet, który ma jedną zależność. Test przechodzi na moim komputerze OSX, ale kończy się niepowodzeniem na moim serwerze x86_64-redhat-linux-gnu Jenkins. Obie maszyny pracują w wersji R 2.15.1 z devtools 0.7.1, która obejmuje this bug fix.

Pełny wynik testu można znaleźć w this gist.

Oto krótkie podsumowanie błędów widzę:

Error in file(filename, "r", encoding = encoding) : 
    cannot open the connection 
Calls: local ... eval.parent -> eval -> eval -> eval -> eval -> source -> file 
In addition: Warning message: 
In file(filename, "r", encoding = encoding) : 
    cannot open file 'startup.Rs': No such file or directory 
Execution halted 

Tłem dla tego jest to, że staram się zbudować system zarządzania zależność dla R. Pomysł jest taki, że R projekt powinien móc działać bez korzystania z bibliotek systemowych lub dla całego użytkownika. Zamiast tego, projekt R będzie miał własną bibliotekę zainstalowaną w jej katalogu głównym.

Na moim poprzednim przepełnienie stosu pytanie związane z uzależnieniem Zarządzania w R, patrz Dependency management in R

Odpowiedz

5

W moim przypadku ten problem został spowodowany przez zmienną środowiskową R_TESTS, który został ustawiony na startup.Rs

Po wykonaniu kolejnego procesu R z poziomu testów (w moim przypadku był to złożony poprzez OGS qsub), obecność ta zmienna środowiskowa powoduje problemy.

+1

Aby kontynuować, rozwiązaniem jest usunięcie zmiennej z 'Sys.setenv (" R_TESTS "=" ")' –

0

nie mogę odpowiedzieć na to pytanie bezpośrednio, ale dwie rzeczy można spróbować uzyskać więcej informacji o tym, co się dzieje.

  1. stosowanie 'env' zrzucić zmienne środowiskowe na komputerze OSX oraz przyjmującym Jenkins
  2. prowadzony proces poprzez strace na Linux i dtruss na OSX pułapkę system wywołuje

strace/dtruss powinien ujawnić miejsca, w których szuka startup.Rs i env prawdopodobnie da ci zmienną środowiskową, która różni się między rachunkowością systemu dla różnych wyników.

+0

Dzięki za sugestie debugowania. Pierwotnie wypróbowałem # 1 i nigdy naprawdę nie rozgryzłem problemu. Nie próbowałem jeszcze śladów procesu. – yoni

Powiązane problemy