2013-09-03 32 views
5

Problem: C:\>Rcmd.exe INSTALL --build --library=C:/Users/local_aphalo/Documents/R/win-library/3.0 photobiologyR CMD INSTALL --build pakietów -> "winieta brak"

C:\>Rcmd.exe INSTALL --build --library=C:/Users/local_aphalo/Documents/R/win-library/3.0 photobiology_0.2.6.tar.gz

Pierwsze polecenie (używane przez RStudio) tworzy plik ZIP brakuje winietowanie.

Drugie polecenie tworzy plik ZIP zawierający winiety.

Zamiast Rcmd.exe nie ma znaczenia. Plik .tar.gz został zbudowany bezpośrednio przed próbą skompilowania pliku .zip, z dokładnie tych samych plików źródłowych, z poziomu RStudio (który korzysta z fotobiologii kompilacji Rcmd.exe).

Winiety są kodowane w plikach .Snw przy użyciu oprogramowania knitr, dokumentacja i aplikacja NAMESPACE ROxygen2. Problem występuje we wszystkich pakietach, które próbowałem zbudować, ale są one bardzo podobnie zakodowane. Tylko jeden z nich używa Rcpp.

Podczas instalowania pakietu do użytku z poziomu RStudio, instalacja z .tar.gz powoduje instalację winiet. Jeśli instalacja z .zip, czy winiety zostaną zainstalowane, czy nie, zależy od tego, czy pliki .zip zawierają je, czy nie (co zależy od tego, które z dwóch poleceń na górze tej wiadomości zostało użyte do zbudowania pliku .zip).

Używam wersji 3.0.0, a także wypróbowałem kilka poprawek R 3.0.1 kilka dni wstecz. W większości korzystam z Windows 7 (zarówno 32-bitowego, jak i 64-bitowego), próbowałem raz pod Ubuntu 64bit, a problem jest powtarzalny. Po raz pierwszy zauważyłem problem z RStudio (0.97 i 0.98) i opublikowałem wiadomość na forum RStudio, ale nie otrzymałem odpowiedzi za kilka tygodni. Znalazłem co najmniej inny stosunkowo stary post na temat tego problemu na forum internetowym RStudio, ale nie otrzymałem odpowiedzi. Dzisiaj zbadałem trochę dalej, a problem nie jest wyraźnie związany z RStudio, ponieważ mogę go odtworzyć za pomocą wiersza poleceń.

Pytanie brzmi: Czy to zachowanie jest funkcją? błąd? lub brakuje mi tylko opcji w używanym poleceniu?

Oczywiście, mogę łatwo obejść problem w wierszu poleceń, używając pliku .tar.gz do skompilowania pliku .zip, ale myślę, że preferowanym sposobem budowania pakietu jest dostarczenie nazwa pakietu jako argument.

Dziękujemy za wszelkie informacje na temat pochodzenia tego problemu.

Odpowiedz

3

myślę, że jest to cecha:

  • Jeśli instalujesz ze źródeł, winiety są zawsze zbudowane

  • Jeśli instalujesz z binarnego, nie są one zbudowane, i będzie dostępna tylko wtedy, gdy zostały one zbudowane binarny powstał

Takie podejście oznacza, że ​​można rozpowszechniać winiet w pakietach binarnych do ludzi, którzy mogą nie być w stanie b uild ich ze źródła.

+0

Tak, ma sens. –

+0

Tak, to ma wiele sensu. Ale buduję plik binarny, a z wyjścia na ekranie pakiet wydaje się być instalowany ze źródła w ramach tego procesu, ale jeśli źródło nie jest już spakowane w pliku .tar.gz, źródło jest instalowane bez winiet, nawet jeśli są one dostępne w folderze winiet w moim "pakiecie roboczym" jako pliki .pdf. Więc chciałbym się dowiedzieć, czy istnieje sposób wymuszania plików winiet, które mają być zawarte w pliku .zip, poza używaniem .tar.gz do instalacji. –

+0

@PedroAphalo Jak budujesz zip? – hadley