web-dev-qa-db-fra.com

Comment dire à CRAN d'installer automatiquement les dépendances de paquets?

Je développe un package dans R et lorsque je le vérifie et le construis dans mon ordinateur local, il fonctionne correctement. Mais quand je l'ai essayé dans CRAN, j'obtiens une erreur de dépendance de paquet. Mon paquet dépend de deux fonctions d'autres paquets.

Si je liste les autres paquets sous description en utilisant Depends ou imports, sera-t-il automatiquement installé avec le nouveau paquet? Ou dois-je invoquer explicitement la fonction install.packages("packagename") sous la fonction utilisée par les autres packages? si tout cela est faux, quel est le meilleur moyen de résoudre les dépendances de paquets dans R afin de passer le R CMD check et build tester et soumettre à CRAN?

Merci.

60
Mikael

Sur votre propre système, essayez

install.packages("foo", dependencies=...)

avec le dependencies= argument est documenté comme

dependencies: logical indicating to also install uninstalled packages
      which these packages depend on/link to/import/suggest (and so
      on recursively).  Not used if ‘repos = NULL’.  Can also be a
      character vector, a subset of ‘c("Depends", "Imports",
      "LinkingTo", "Suggests", "Enhances")’.

      Only supported if ‘lib’ is of length one (or missing), so it
      is unambiguous where to install the dependent packages.  If
      this is not the case it is ignored, with a warning.

      The default, ‘NA’, means ‘c("Depends", "Imports",
      "LinkingTo")’.

      ‘TRUE’ means (as from R 2.15.0) to use ‘c("Depends",
      "Imports", "LinkingTo", "Suggests")’ for ‘pkgs’ and
      ‘c("Depends", "Imports", "LinkingTo")’ for added
      dependencies: this installs all the packages needed to run
      ‘pkgs’, their examples, tests and vignettes (if the package
      author specified them correctly).

donc vous voulez probablement une valeur TRUE.

Dans votre paquet, indiquez ce dont vous avez besoin dans Depends:, voir le manuel Writing R Extensions qui est assez clair à ce sujet.

62
Dirk Eddelbuettel

Une autre possibilité consiste à cocher la case Installer les dépendances. Dans le programme d'installation du package R, en bas à droite:

enter image description here

2
sivi