it-swarm.com.de

Update für Windows 7, update.packages Problem: "temporäre Installation kann nicht verschoben werden"?

Ich verwende R 2.13.0 mit Windows 7, nachdem ich meinem Benutzer alle Berechtigungen für den R-Ordner (wie hier ) ..__ erteilt habe. Dies ermöglicht mir die Installation neuer Pakete.

Bei der Verwendung von update.packages () zum Aktualisieren vorhandener Pakete erhalte ich jedoch den folgenden Fehler (beispielsweise beim Aktualisieren des MASS-Pakets):

paket 'MASS' erfolgreich ausgepackt und MD5-Summen geprüft

Warnung: Temporäre Installation kann nicht verschoben werden 'C:\Programm Dateien\R\R-2.13.0\library\file6cae3bcf\MASS ' zu 'C:\Programm Dateien\R\R-2.13.0\library\MASS '

Anregungen zur Behebung dieses Problems?

p.s: R als Administrator auszuführen oder den Speicherort der Bibliothek aus den Programmdateien zu verschieben ist keine Lösung (es ist ein Hack - aber ich suche nach einer Lösung)

72
Tal Galili

Ich habe festgestellt, dass das Problem in der Tat der Antivirus "Echtzeit-Dateisystemschutz" ist. Ich gehe folgendermaßen vor, um das Problem zu beheben:

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

Ich bearbeite Zeile 140 (Zeile 142 in R 3.4.4):

Sys.sleep(0.5)

zu:

Sys.sleep(2)

Mir scheint, als ob das Antivirus die Erstellung des Pakets tmp dir zum Erliegen bringt. Nach dem Ändern auf 2 Sekunden ist der Fehler behoben.

BEARBEITEN: um dies programmgesteuert auszuführen

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

(Credits @DavidArenburg)

98

Um alle zu aktualisieren, habe ich (glaube ich) die Ursache des Problems gefunden: antivirus.

Der "Echtzeit-Dateisystemschutz" hinderte R daran, die Dateien zwischen den Ordnern zu kopieren, sobald sie heruntergeladen wurden. Nach dem Hinzufügen des R-Verzeichnisses zur Ausnahmeliste (gekoppelt mit dem Hinzufügen von Benutzerberechtigungen und Installieren von R unter D:\R) und das Problem ging weg. Bei all dieser Arbeit könnte ich genauso gut zu Linux wechseln (sollte ich wirklich ...)

(Ich habe meinen Beitrag mit den obigen Informationen aktualisiert: http://www.r-statistics.com/2011/04/how-to-upgrade-r-on-windows-7/ )

Ich hoffe, dass es in Zukunft jemandem helfen wird. Tal

64
Tal Galili

Wenn Sie Ihr Antivirus-Programm beispielsweise aufgrund von Unternehmensrichtlinien nicht deaktivieren können, finden Sie hier eine Problemumgehung. Durch das Debuggen der Entpack-Funktion und das anschließende Durchlaufen wird dem Antivirus genug Zeit gegeben, um seine Arbeit ohne Beeinträchtigung zu erledigen. Verwenden Sie diesen Befehl:

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

und führen Sie dann den Code schrittweise durch (indem Sie mehrmals die Eingabetaste drücken), wenn R während der Installation mit dem Debuggen beginnt.

Ich habe diese Lösung gefunden hier .

40
Sheldon

Wenn Sie die Binärdatei direkt von CRAN herunterladen können. Unter Windows wird es beim Herunterladen eine ZIP-Datei sein. Jetzt entpacken Sie diese manuell in den ..library/Ordner Ihres R (.libPaths()). Bei einigen Paketen hat es für mich funktioniert.

14
xiaodai

Ich hatte dieses Problem bei der Installation von sowohl Swirl als auch Dplyr. Ich arbeite an Windows 64-Bit.

Warnung: temporäre Installation kann nicht verschoben werden  

Ich habe auf meine temporären Dateien auf Laufwerk C: zugegriffen, mein Dateiextraktorprogramm geöffnet und die Dateien aus der temporären Datei in Laufwerk C: in meine R-Programmdateien in Laufwerk C: extrahiert, indem Sie sie manuell kopierten . Dies funktionierte sowohl für dpylr als auch für swirl. Stoked!

Prost,

Pfirsich 

7
Hanna Peach

Können Sie den Parameter lib.loc nicht verwenden, um nur Pakete in Ihrer persönlichen Bibliothek (in user) zu aktualisieren? Es sollte nicht möglich sein, einem normalen, nicht erweiterten Benutzer die Möglichkeit zu geben, Dateien im Ordner der Programmdateien zu ändern. Das einzige, was Sie tun können (wenn Sie den Benutzer nicht erweitern möchten), ist, R nicht zu haben Pakete dort aktualisieren.

Eine Problemumgehung besteht darin, die Installation von R im Ordner mit den Programmdateien zu vermeiden (dies kann mehr oder weniger ein Hacker sein, als nur den Speicherort der Bibliothek aus ihm heraus zu verschieben, abhängig von Ihrem Standpunkt).

Wenn lib.loc es nicht schneidet, können Sie sich den Quellcode für update.packages ansehen und Ihre eigene angepasste Version erstellen, die immer den allgemeinen Speicherort der Bibliothek in Programmdateien vermeidet.

2
Nick Sabbe

Ich bin gerade auf dieselbe Frage gestoßen, und die Lösung, die ich gefunden habe, war, dass Sie Pakete mit der ursprünglichen R-Software installieren sollten (außerdem sollten Sie die richtige Mirror-Site auswählen, einige davon sind blockiert). Zuerst habe ich Rstudio benutzt, um Pakete zu installieren, und ich hatte das gleiche Problem, das Sie getroffen haben. Hoffe das ist hilfreich.

2
Yang

Ich ging einfach zum Bibliotheksordner (Windows XP) und löschte alle fileXXXX-Ordner. Erneut die Installation und es wird gearbeitet. 

1
user1682017

Ich bin mehrmals auf diesen Fehler gestoßen. In meinem eigenen Fall liegt das daran, dass unsere Admins wünschen, dass wir für unsere Dateien virtuelle Remote-Laufwerke (unter Windows 7) verwenden, und alles ist fest wie eine Trommel. R-Pakete können nur in einem lib-Verzeichnis auf diesem virtuellen Remote-Laufwerk verwendet werden. Dies wäre kein Problem, es sei denn, das Netzwerk ist nicht immer reibungslos und schnell. Wenn ich also ein Paket brauche, insbesondere ein Paket mit mehreren anderen Paketen (zB MBESS), muss ich entweder den get.packages () -Prozess mehrmals durchlaufen, bis es endgültig fertig ist, oder die IT-Kopfschmerzen schnell erledigen der Hase für mich Ich kann nicht immer auf IT warten.

1
Bryan

Der Fehler: "Temporäre Installation kann nicht verschoben werden" ist im Wesentlichen auf Antivirus-Programme zurückzuführen, die auf Ihrem System ausgeführt werden. Versuchen Sie, die heruntergeladene Datei aus dem Temp-Ordner in den Standardbibliothekpfad zu entpacken (indem Sie .libPaths () in der R-Sitzung ausführen).

0
AnksG

Ich verwende einen MRAN und hatte so viele Versionierungsprobleme. Beim Versuch, mit tidyverse und ggplot2 zu arbeiten, und durch ein Upgrade auf die neueste Version von Microsoft wurde das R-Studio-Problem gelöst.

Versions Information:

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

Laden Sie Microsoft R Open 3.5.1 herunter

0
Paul Hegel

Ich hatte das gleiche problem Da das Problem anscheinend das Virenschutzprogramm ist, das die Übertragung einer heruntergeladenen Datei blockiert, habe ich in den install.packages eine andere Downloadmethode ausprobiert und es hat funktioniert.

Zum Beispiel:

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

Sie müssen in die Eigenschaften des Ordners R wechseln und die Sicherheitsparameter ändern. Sie können die Option zum Schreiben und Ändern für alle Benutzer aktivieren.

0