Je souhaite créer un référentiel de packages R local afin que les utilisateurs de mon entreprise puissent en installer des packages et que les administrateurs système puissent mettre à jour le référentiel local périodiquement. L'accès aux miroirs CRAN est actuellement refusé.
Existe-t-il un moyen simple de procéder?
Oui, une copie de CRAN ou un dépôt avec des packages locaux est facile à configurer. Vous voulez probablement ceci pour Windows, alors faites ceci:
R/
R/bin/windows/contrib/2.11
. Si vous avez besoin de prendre en charge d'autres versions (antérieures), créez simplement des répertoires 2.10
, 2.9
, ... à côté du répertoire 2.11
.Placez les packages dont vous avez besoin dans le répertoire (par exemple, 2.11
), Puis accédez à ce répertoire et exécutez la commande suivante pour générer les fichiers PACKAGES
et PACKAGES.gz
Pour le référentiel:
tools::write_PACKAGES(".", type="win.binary")
C'est tout ce qu'il y a à faire - maintenant vous pouvez accéder au référentiel en pointant vers l'adresse donnée par une commande telle que
update.packages(repos="http://my.local.server/R", ask=FALSE)
ce que je fais même dans R/zzz.R
pour les paquets locaux afin qu'ils se mettent à jour.
Modifier environ cinq ans plus tard : Et le package drat automatise maintenant beaucoup de cela, et brille particulièrement si vous utilisez également GitHub pour servir le référentiel sur http/https (mais est également utile pour un hébergement autre ou local).
Lisez la section du guide de l'administrateur .
Le paquet miniCRAN fournit également une grande fonctionnalité pour cela. Le principal avantage est que vous n'avez pas besoin d'un miroir complet, mais que vous pouvez configurer un "mini" miroir de CRAN avec uniquement les distributions de packages dont vous avez besoin, y compris leurs dépendances.