Avertissement en installation.paquets: impossible de déplacer l'installation temporaire

j'ai trouvé un certain nombre de questions liées à cet avertissement lors de l'installation ou de la mise à jour de paquets dans R/RStudio, mais aucune ne semble correspondre complètement à ma situation:

  • de l'Entreprise le système Windows 7, donc pas d'accès à des privilèges d'administrateur
  • Aucun moyen de faire des changements à McAfee Anti-Virus exceptions listes
  • R est entièrement installé dans l'espace utilisateur C:Users[myname]R
  • RStudio completely installed in userspace CUsers[myname]RStudio
  • pas d'autorisation des problèmes dans l'un des répertoires... J'en ai plein le contrôle d'accès sur eux
  • le problème n'a commencé qu'après l'installation de R 3.4, mais RStudio est tombé en panne au hasard au début ou pendant quelques mois maintenant
  • R_LIBS_USER ajouté comme variable d'environnement utilisateur, pointant vers le répertoire de droite
  • .libPaths() afficher les répertoires corrects, tant pour le système que pour l'utilisateur
  • R version 3.4.2, RStudio version 1.0.153
  • Désinstallé les deux R et Rstudio et a fait un nettoyage de la réinstallation des deux
  • Essayé trace(utils:::unpackPkgZip,edit = T) et édité Ligne 140 Sys.sleep(0.5)Sys.sleep(2), qui fonctionne parfois temporairement mais le montage ne reste pas sur place... réinitialise Sys.sleep(0.5) à chaque session redémarrez
  • se produit à la fois dans RStudio et RGui
  • N'importe quel paquet plus grand que quelques Kb donne le message:

    package ‘packagename’ successfully unpacked and MD5 sums checked
    Warning in install.packages :
      unable to move temporary installation ‘C:Users[myname]Rwin-library.4file2b884fc37c13packagename’ to ‘C:Users[myname]Rwin-library.4packagename’
    

les paquets ne s'installent pas ou ne se mettent pas à jour. Donc, mes questions sont:

  1. est-il un moyen pour éviter le problème tout à fait qui ne nécessite pas de privilèges d'administration ou des changements aux politiques antivirus?
  2. est-il possible d'obtenir le modifier unpackPkgZip pour sauver en permanence?

à ce stade, je suis perplexe. Je soupçonne qu'il a quelque chose à voir avec l'antivirus Temporairement verrouiller le fichier/répertoire après le téléchargement, mais je ne peux rien faire à ce sujet à partir de cette fin. Sys.sleep(2) semble faire l'affaire, mais je ne peux pas continuer à le faire avant chaque paquet d'installer ou de mise à jour et ne peuvent pas sembler obtenir le modifier pour rester sur place.

19
demandé sur Scard 2017-10-05 18:55:15

10 réponses

C'est la seule chose qui a fonctionné pour moi sur cette question (la désinstallation du logiciel antivirus ne m'a pas amené nulle part, malheureusement), donc j'espère que cela fonctionne pour vous.

sur les systèmes Windows, parfois l'installation des bibliothèques peut être trop rapide, créant l'erreur "Impossible de déplacer l'installation temporaire". Puis le paquet est introuvable dans l'utilisateur de la bibliothèque, parce qu'il n'a pas été déplacé...

Pour résoudre, essayez: trace(utils:::unpackPkgZip, edit=TRUE)

puis passez à la ligne 140 dans le code et de modifier Sys.sleep(0.5)Sys.sleep(2.5)

il s'agit d'une solution à long terme agréable qui ne nécessite pas de déplacement manuel du paquet, de désinstallation du logiciel, de remplacement des responsabilités administratives ou de routage individuel des paquets vers certains endroits.

15
répondu kslayerr 2018-03-06 20:02:19

ma réponse originale est ci-dessous, mais j'ai par la suite trouvé une meilleure solution.

exécutez la ligne suivante:

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

Remarque qu'il y a trois virgules là, pas deux.

puis modifier la ligne 142, de " Sys.sommeil(0.5)": "Sys.sommeil(2.0)", puis cliquez sur pour enregistrer les modifications (le numéro de ligne peut varier légèrement). Malheureusement, cela ne s'applique pas à toutes les sessions R, mais cela ne prend que 10 secondes pour le faire, et vous pouvez ensuite installer les paquets pour les session au contenu de votre coeur.

réponse Originale à cette question:

j'ai rencontré le même problème au travail. J'ai pu utiliser L'approche suggérée par Sheldon, mais comme je l'ai noté, cela peut devenir fastidieux rapidement. Comme alternative, j'ai trouvé que je pouvais aller à l'emplacement du ou des fichiers zip téléchargés dans mon répertoire temp(tel que rapporté par install.paquets), décompressez le ou les fichiers (il y aura plusieurs fichiers zip s'il y a des paquets dépendants), puis déplacez ou copiez tous les répertoires décompressés directement dans mon répertoire\win-library\3.4. Ce n'est pas très amusant non plus, mais je trouve ça moins douloureux que de passer par le débogueur, selon la méthode de Sheldon, surtout quand plusieurs dépendances sont impliquées et doivent aussi être installées.

8
répondu JeffR 2018-05-01 17:57:20

si vous ne pouvez pas désactiver votre antivirus voici une solution de contournement que j'ai trouvé qui n'implique pas l'édition du unpackPkgZip fichier. Déboguer la fonction package unzip et ensuite la traverser donne à l'antivirus assez de temps pour faire son travail sans interférer. Utilisez cette commande:

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

et ensuite parcourir le code (en appuyant sur Entrée plusieurs fois) lorsque R commence à déboguer pendant l'installation.

j'ai trouvé cette solution ici.

si vous voulez rendre ce changement plus permanent, vous pouvez ajouter le code de débogage dans votre fichier Rprofile, voir ici, mais vous devrez quand même utiliser step à travers la fonction unzip chaque fois qu'un paquet est installé.

5
répondu Sheldon 2017-11-16 13:04:29

Eu la même erreur semble être une entreprise gp / sécurité d'accès du problème.

il pourrait également être intéressant de vérifier si le dossier dans lequel il ne parvient pas à écrire a une structure en lecture seule (clic droit - Propriétés). L'adresse de ce dossier peut être trouvée en exécutant: .libPaths()[1] R.

une solution ad hoc à ce problème est de décompresser et de stocker les paquets téléchargés (mais non déplacés) en utilisant un morceau de code R ci-dessous. Vous obtiendrez une erreur indiquant où les paquets binaires sont localisés (quelque chose comme: C:/Users/....AppData/...)

Maintenant, vous pouvez simplement décompresser les fichiers d'ici vers les vôtres .libPaths () location

zipF <- list.files("C:/Users/<YOURNAMEHERE>/AppData/Local/Temp/Rtmp4Apz6Z/downloaded_packages", full.names = TRUE)
outDir <- .libPaths()[1]

for(i in 1: length(zipF)) {
unzip(zipF[i],exdir=outDir)
}

une solution plus générale sera toujours extrêmement utile, car il s'agit malheureusement d'un problème courant lors de la mise à jour de R sous Windows.

4
répondu Nick 2018-02-06 18:30:12

nous avons eu le même problème à mon lieu de travail, et un de mes collègues a découvert une bonne solution. Malheureusement, c'est une chose temporaire que vous devrez faire chaque fois que vous installez des paquets, plutôt qu'une solution permanente. Nous exécutons Windows 8 d'entreprise (pas de privilèges d'administration) avec McAfee, et j'ai testé cela dans R 3.4.0-3.4.3.

désactiver temporairement la fonctionnalité "On-Access Scan" de McAfee (dans la prévention des menaces) a résolu ce problème pour nous. la façon dont ils sont destinés. Voici les étapes détaillées pour désactiver cette fonction:

  1. cliquez-Droit sur l'icône McAfee dans la zone de notification à droite de votre barre des tâches, et sélectionnez McAfee Endpoint Security.
  2. cliquez sur prévention des menaces. Cela ouvre un écran où vous devriez voir des catégories telles que "protection D'accès", "exploitation de la prévention", et "on-Access Scan".
  3. décochez "Activer le Scan D'accès", puis cliquez sur Appliquer. (NB: c'est facile à oublier de cliquer sur Appliquer, mais c'est essentiel)

une fois que vous avez installé vos paquets, il est préférable de répéter le processus pour activer-Access Scan de nouveau.

3
répondu dnidz 2018-03-06 17:49:31

j'ai corrigé mon instance de ce problème (Windows 7) en supprimant l'attribut "Lecture Seule" du dossier dans lequel R essayait de déplacer des trucs.

je suis allé à la commande Run depuis le menu Start dans Windows (7) et j'ai tapé atrib-r + s drive:\\\

notez que le simple clic droit dans le dossier et le fait d'essayer de changer les propriétés n'ont pas suffi, selon ce lien de Microsoft: https://support.microsoft.com/en-us/help/326549/you-cannot-view-or-change-the-read-only-or-the-system-attributes-of-fo

j'Espère que l'aide à quelqu'un.

j'espère que ce changement ne me trompe pas d'une autre façon.

1
répondu DavidE 2018-02-28 19:58:27

voici le message d'erreur qui m'a été recraché:

package ‘mlogit’ successfully unpacked and MD5 sums checked
Warning in install.packages :
unable to move temporary installation ‘C:\Users\E\Documents\R\win-
library.4\file9ec6cfb5e40\mlogit’ to ‘C:\Users\E\Documents\R\win-
library.4\mlogit’

The downloaded binary packages are in
C:\Users\E\AppData\Local\Temp\RtmpS0uNDm\downloaded_packages

ce que j'ai fait est allé à l'endroit où le paquet a été téléchargé (C:\Users\E\AppData\Local\Temp\RtmpS0uNDm\downloaded_packages) et ensuite copié ce fichier zippé sur le bureau puis utilisé Winzip pour décompresser dans mon répertoire de fichiers où tous les paquets pour R sont stockés (C:\Users\E\Documents\R\win-library\3.4). Il va maintenant se charger en R.

library("mlogit")
Loading required package: Formula
Loading required package: maxLik
Loading required package: miscTools
....

cela a bien fonctionné pour moi car c'était le seul paquet qui n'était pas téléchargement pour une raison quelconque. Pourrait ne pas être utile si vous devez le faire pour chaque paquet.

0
répondu EDennnis 2018-03-06 16:44:33

j'ai également trouvé une solution si les solutions ci-dessus ne fonctionnerait pas dans l'antivirus d'entreprise. Utilisez cette commande et exécutez R:

install.packages('caTools','D:\ML\Tools\Installed\RPackages')

maintenant, il affichera l'erreur d'une console qui ne peut pas bouger et le paquet est placé à un endroit quelconque. rappelez-vous juste cet endroit, nous avons besoin de ce fichier zip pour d'autres opérations.

Maintenant, utilisez cette commande:

install.packages("D:/ML/Tools/Installed/RPackages/caTools_1.17.1.zip", repos = NULL, type = "win.binary", lib="D:/ML/Tools/Installed/R-3.4.3/library") 
0
répondu Vikalp Jain 2018-03-18 10:06:46

j'ai eu du mal avec le même problème. Pour moi (sur Windows 10), le problème était d'utiliser MalwareBytes (Prime d'essai). Je l'ai désinstallé et je suis retourné à utiliser Windows Defender, et le problème a été résolu. Peut-être si plus de temps, je peux trouver comment créer une exception et/ou le retard de vérification de dossier pour MalwareBytes (c.-à-d., qui est un assez bon programme), mais l'utilisateur-guide (https://www.malwarebytes.com/pdf/guides/Malwarebytes-User-Guide.pdf) est pas clair sur ce point.

0
répondu jrdunson 2018-03-30 13:48:36

si vous exécutez l'instruction ci-dessous juste avant l'installation.l'expression packages devrait alors installer le paquet:

trace("unpackPkgZip", where=asNamespace("utils"), quote(Sys.sleep(2.5)), at=14L, print=FALSE)
-1
répondu Ingo Raum 2018-09-15 06:06:10