R-Code in der Paketvignette kann aus Sicherheitsgründen nicht auf CRAN ausgeführt werden. Wie man eine solche Vignette verwaltet?

9

Ein R-Paket kommuniziert mit einer kommerziellen Datenbank unter Verwendung eines privaten Benutzername und Passwort, um eine Verbindung herzustellen. In der package_vignette.Rmd-Datei gibt es ein Stück Code:

%Vor%

Ich habe nicht das Recht, CRAN den Benutzernamen und das Passwort zu geben. daher kann ich keine echte 'connection.config' Datei mit dem Paket liefern. Dieses Codefragment führt natürlich bei CRAN-Prüfungen zu einem Fehler.

Ich kenne zwei Möglichkeiten, den CRAN-Check zu umgehen:

  1. Verwenden Sie die knitr-Option: eval = FALSE .

  2. Machen Sie statische Vignette mit Hilfe der R.rsp Paket.

Der erste Weg ist zu zeitaufwendig, weil es viele Brocken gibt, und ich schreibe die Vignette oft um. Der zweite Weg ist besser für mich. Aber gibt es ein besseres Muster, wie man solche Vignette unterstützt? Zum Beispiel verwende ich in den Tests des Pakets testthat::skip_on_cran() , um CRAN-Prüfungen zu vermeiden.

    
Mikhail Zvagelsky 14.04.2015, 15:20
quelle

2 Antworten

2

Am einfachsten ist es, die Daten in Ihr Paket aufzunehmen. Entweder der Dummy-Datensatz in:

  • das Verzeichnis data . Dies würde es Benutzern ermöglichen, einfach darauf zuzugreifen.
  • oder in inst/extdata . Benutzer können auf diese Datei zugreifen, aber sie ist etwas versteckter. Du würdest den Ort mit system.file(package="my_pkg") finden

In der Vignette hättest du etwas

%Vor%     
csgillespie 18.09.2016 09:51
quelle
1

testthat::skip_on_cran prüft nur eine Systemvariable

%Vor%

Soweit ich weiß, wird dies durch testthat oder devtools festgelegt. So könnten Sie

verwenden %Vor%

in der Chunk-Option und laden testthat oder devtools in einem der ersten Chunks. Andernfalls können Sie einen ähnlichen Mechanismus auf Ihrer Site verwenden und eine ähnliche Systemvariable zuweisen und prüfen, ob sie "true" ist. ZB verwenden Sie Sys.setenv("IS_MY_COMP", "true") ). Setzen Sie dann einen Sys.setenv -Aufruf in Ihre .Rprofile -Datei, wenn Sie R studio oder in Ihrer R_HOME/Rprofile.site -Datei verwenden. Informationen zur späteren Option finden Sie in help("Startup") .

Alternativ können Sie prüfen, ob "/home/user001/connection.config" mit

existiert %Vor%

in der Chunk-Option.

    
Benjamin Christoffersen 25.11.2017 08:52
quelle

Tags und Links