Pakiet R komunikuje się z komercyjną bazą danych przy użyciu prywatnej nazwa_użytkownika i hasło w celu nawiązania połączenia. W pliku package_vignette.Rmd znajduje się fragment kodu:Kod R w winietowaniu pakietów nie może być uruchomiony na CRAN ze względów bezpieczeństwa. Jak zarządzać taką winietą?
```{r, eval = TRUE}
# set user_name and password from user's configuration file
set_connection(file = "/home/user001/connection.config")
# ask data base for all metrics it has
my_data <- get_all_metrics()
# display names of fetched metrics
head(my_data$name)
```
nie mam prawa, aby zapewnić rzeczywistą nazwa_użytkownika i hasło do CRAN, więc nie może dostarczyć prawdziwej „connection.config” plik z paczka. Tak więc, ten fragment kodu prowadzi do błędu podczas sprawdzania CRAN.
Znam dwa sposoby, aby ominąć czeku CRAN:
Wpisz knitr opcja:
eval = FALSE
.Wykonaj pakiet static vignette with help of the R.rsp.
Pierwszym sposobem jest zbyt czasochłonne, ponieważ istnieje wiele kawałków, i przepisać/odbudować winietę często. Drugi sposób jest dla mnie lepszy. Ale może być lepszy wzór na poparcie takiej winiety? Na przykład w testach pakietu używam testthat::skip_on_cran()
, aby uniknąć sprawdzeń CRAN.
obejmują przykładowe dane w pakiecie, np. fetch_sample_all_metrics(), z niewrażliwymi/anonimowymi danymi, i użyj go w swojej winietce –
Możesz ustawić wszystkie porcje na 'eval = F' przez wywołanie' knitr :: opts_chunk $ set (eval = F) 'wewnątrz pierwszej porcji. – gregmacfarlane