web-dev-qa-db-fra.com

Windows 7, problème avec update.packages: "impossible de déplacer l'installation temporaire"?

J'utilise R 2.13.0 avec Windows 7, après avoir donné à mon utilisateur tous les privilèges du dossier R (comme décrit ici ) . Cela me permet d'installer parfaitement les nouveaux packages.

Cependant, lors de l'utilisation de update.packages () pour mettre à jour des packages existants, l'erreur suivante continue à apparaître (par exemple, lors de la mise à jour du package MASS):

package 'MASS' déballé avec succès et somme MD5 vérifiée

Avertissement: impossible de déplacer l'installation temporaire 'C:\Programme Fichiers\R\R-2.13.0\library\file6cae3bcf\MASS ' à 'C:\Program Fichiers\R\R-2.13.0\library\MASS '

Des suggestions sur la façon de résoudre ce problème?

p.s: Utiliser R en tant qu'administrateur ou déplacer l'emplacement de la bibliothèque hors de Program Files n'est pas une solution (c'est un hack - mais je cherche une solution)

72
Tal Galili

J'ai trouvé que le problème est bien l'antivirus "protection du système de fichiers en temps réel". Je fais ce qui suit pour résoudre le problème:

trace(utils:::unpackPkgZip, edit=TRUE)

Je modifie la ligne 140 (ligne 142 en R 3.4.4):

Sys.sleep(0.5)

à:

Sys.sleep(2)

Il semble que l'antivirus bloque la création du paquet tmp dir. Après le changer à 2 secondes, l'erreur a disparu.

EDIT: exécuter ceci par programme

trace(utils:::unpackPkgZip, quote(Sys.sleep(2)), at = which(grepl("Sys.sleep", body(utils:::unpackPkgZip), fixed = TRUE)))

(crédits @DavidArenburg)

98
Mads Sønderkær

Juste pour mettre à jour tout le monde, j’ai (pense que j’ai) découvert la source du problème: antivirus.

La "protection du système de fichiers en temps réel" empêchait R de copier les fichiers entre les dossiers une fois téléchargés . Lors de l'ajout du répertoire R à la liste des exceptions (associé à l'ajout d'une autorisation utilisateur et à l'installation de R sur D:\R) et le problème est parti. Avec tout ce travail, je pourrais aussi bien passer à Linux (je devrais, vraiment ...)

(J'ai mis à jour mon message avec les informations ci-dessus: http://www.r-statistics.com/2011/04/how-to-upgrade-r-on-windows-7/ )

J'espère que cela aidera quelqu'un dans le futur, Tal

64
Tal Galili

Si vous ne pouvez pas désactiver votre antivirus, en raison de la stratégie de l'entreprise par exemple, voici une solution de contournement que j'ai trouvée. Le débogage de la fonction de décompression du package, puis son exécution, donnent à l'antivirus suffisamment de temps pour s'acquitter de sa tâche sans interférer. Utilisez cette commande:

debug(utils:::unpackPkgZip)
install.packages("packageName")

puis parcourez le code (en appuyant plusieurs fois sur entrée) lorsque R lance le débogage pendant l’installation.

J'ai trouvé cette solution ici .

40
Sheldon

Si vous pouvez simplement télécharger le binaire directement depuis CRAN. Sous Windows, une fois téléchargé, ce sera un fichier Zip. Maintenant décompressez-le manuellement dans le répertoire ..library/de votre R (.libPaths()). Cela a fonctionné pour moi sur certains paquets.

14
xiaodai

J'ai eu ce problème en installant à la fois swirl et dplyr. Je travaille sur Windows 64 bits.

Avertissement: impossible de déplacer l'installation temporaire  

Ce que j'ai fait est que j'ai accédé à mes fichiers temporaires sur le lecteur C: et ouvert mon programme d'extraction de fichiers. J'ai extrait les fichiers du fichier temporaire du lecteur C: dans mes fichiers de programme R du lecteur C: en les copiant manuellement . CELA A TRAVAILLÉ À LA FOIS dpylr et tourbillonner. Stoked!

À votre santé,

Pêche 

7
Hanna Peach

Ne pouvez-vous pas utiliser le paramètre lib.loc pour mettre à jour uniquement les paquets de votre bibliothèque personnelle (dans l'utilisateur)? Il ne devrait y avoir aucun moyen de permettre à un utilisateur normal non augmenté de modifier des fichiers dans le dossier des fichiers du programme. La seule chose que vous puissiez faire (si vous ne souhaitez pas augmenter l'utilisateur) est de ne pas avoir R mise à jour des paquets là-bas.

Une solution de contournement consiste à éviter d'installer R dans le dossier des fichiers du programme (ce qui peut être plus ou moins un hack que de simplement déplacer l'emplacement de la bibliothèque hors de celui-ci, selon votre point de vue).

Enfin, si lib.loc ne le coupe pas, vous pouvez consulter le code source de update.packages et créer votre propre version personnalisée qui évite toujours l'emplacement de la bibliothèque commune dans les fichiers du programme.

2
Nick Sabbe

Je viens juste de répondre à la même question et la solution que j’ai trouvée est que vous devez installer les packages à l’aide du logiciel R original (en plus, vous devez choisir le bon site miroir, certains d’entre eux sont bloqués). Au début, j'ai utilisé Rstudio pour installer des paquetages et j'ai eu le même problème que vous avez rencontré. J'espère que c'est utile.

2
Yang

Je suis simplement allé dans le dossier de la bibliothèque (Windows XP) et j'ai supprimé tous les dossiers fileXXXX. Relancez l'installation et c'est travaillé. 

1
user1682017

J'ai rencontré cette erreur plusieurs fois. Dans mon cas, c’est parce que nos administrateurs veulent que nous utilisions des disques virtuels distants (sous Windows 7) pour nos fichiers et que tout est verrouillé comme une batterie. Le seul moyen d'utiliser les packages R est dans un répertoire lib sur ce disque virtuel distant. Ce ne serait pas un problème, sauf que le réseau n'est pas toujours lisse et rapide. Ainsi, lorsque j’ai besoin d’un paquet, en particulier d’un paquet contenant plusieurs autres paquets (par exemple, MBESS), je dois soit exécuter plusieurs fois le processus get.packages () jusqu’à ce qu’il soit terminé, ou bien le casse-tête de l’informatique se présente rapidement le lapin pour moi. Je ne peux pas toujours attendre pour ça.

1
Bryan

L'erreur: "impossible de déplacer l'installation temporaire" provient essentiellement d'un antivirus exécuté sur votre système. Essayez de décompresser le fichier téléchargé du dossier Temp dans le chemin de la bibliothèque par défaut (vous pouvez le récupérer en exécutant .libPaths () dans la session R).

0
AnksG

J'utilise un MRAN et j'avais tellement de problèmes de version. Essayer de travailler avec tidyverse et ggplot2 et de passer à la dernière version de Microsoft a résolu tous les problèmes de versioning de R-Studio.

Informations de version:

Microsoft R Open 3.5.1
The enhanced R distribution from Microsoft
Default CRAN mirror snapshot taken on 2018-08-01.

Téléchargez Microsoft R Open 3.5.1

0
Paul Hegel

J'ai eu le même problème. Comme le problème semble être l'antivirus bloquant le transfert d'un fichier téléchargé, j'ai essayé une méthode de téléchargement différente dans install.packages et cela a fonctionné.

Par exemple:

install.packages("stringr", method = "curl")
0
Eduardo Leoni

Vous devez accéder aux propriétés du dossier R et modifier les paramètres de sécurité. Vous pouvez activer l'option d'écriture et de modification pour tous les utilisateurs.

0
Stefano Cacciatore