2015-10-07 57 views
6

Ich bekomme seltsame und nervige Verhalten in einem (ja, nur einem) meiner RStudio-Projekte. Wenn ich die R-Sitzung innerhalb dieses Projekts neu starte, kann ich keine der Dateien mehr speichern. Wenn ich versuche (oder RStudio versucht automatisch), erhalte ich einen Popup-Fehler mit der Meldung "Das System kann die angegebene Datei nicht finden" um das Projekt und alle R-Skripte wieder zu öffnen.RStudio-Projekt "kann die angegebene Datei nicht finden" auf R Sitzung neu starten

ich in der Log-Datei sah, und ich sehe eine Menge von dem folgenden Fehler:

07 Oct 2015 00:52:05 [rsession-Mark] ERROR system error 5 (Access is denied) [path=C:/Users/Mark/GoogleDrive/Research/CEQUAL_event/.Rproj.user/5E5F98D9/sdb/s-26E44539/lock_file]; 
OCCURRED AT: bool rstudio::core::FilePath::exists() const C:\Users\Administrator\rstudio\src\cpp\core\FilePath.cpp:308; 
LOGGED FROM: bool rstudio::core::FilePath::exists() const C:\Users\Administrator\rstudio\src\cpp\core\FilePath.cpp:308 

Es sieht aus wie das Problem in den .Rproj.user Ordnern befinden. Also habe ich das gelöscht und RStudio neu generieren lassen, aber das Verhalten hat gleich wieder angefangen.

Ich verwende Windows 7, RStudio Version 0.99.441 und R-Version 3.2.2.

+1

Hat diese 'C:/Users/Mark/GoogleDrive' hat etwas damit zu tun? Synchronisieren Sie dies irgendwo oder ist es ein Mount eines Remote-Dateisystems? –

+0

Es wird synchronisiert. Aber auch meine anderen Projekte. Ich sehe, dass Google Drive sagt "Sie haben keine Berechtigung, diese Datei zu synchronisieren" über die Sperrdatei. Vielleicht hat das etwas damit zu tun - unklar, ob es Ursache oder Wirkung ist. – MarkH

+0

Ich bin mir nicht sicher, ob ich Ihnen eine definitive Antwort geben kann, aber ich würde denken, dass das Verschieben des Projekts ohne Sperrdatei in ein neues Verzeichnis in Ihrem synchronisierten Dateisystem eine gute Idee wäre. Es klingt sehr nach einem Synchronisierungsproblem, überprüft aber auch Dateiberechtigungen. Vielleicht hast du mal etwas als root gemacht und die Synchronisation ändert den Besitz oder die Flags oder sowas. Am einfachsten ist es, einfach neu zu starten, anstatt zu versuchen, die Synchronisierung zu debuggen. –

Antwort

2

Ich denke @Jack Wasey hat Recht: Google Drive sperrt Dateien während der Synchronisierung. Dies verursacht many issues auch mit anderen Programmen. Es gibt Alternativen von Unternehmen, die Datei-Synchronisierung für einen Lebensunterhalt, wie Dropbox, deren Clients Dateien nicht sperren. Mit Google Drive haben Sie nur die Möglichkeit, selektiv zu synchronisieren und jeden Ordner .Rproj.user auszuschließen. Sobald die RStudio-Datenbank beschädigt ist, reicht das Verschieben des Projekts aus dem Google Drive-Ordner nicht mehr aus - Sie müssen es löschen/umbenennen, damit RStudio seine Datenbank repariert.

Zusammenfassung:

  1. Kopieren Inhalte von allen nicht gespeicherten Dateien in eine temporäre Datei außerhalb von RStudio (während Sie auf die Fehlermeldung alle zwei Sekunden weg)
  2. Beenden Rstudio
  3. Pause Google Drive-Synchronisierung
  4. Umbenennen (oder Verschieben/Löschen) des ausgeblendeten Ordners .Rproj.user in Ihrem Projekt
  5. Öffnen Sie das Projekt erneut in Rstudio
  6. Ausschließen des neuen .Rproj.user Ordner von der Synchronisierung mit Google-Laufwerk (Einstellungen -> sync nur diese Ordner)
  7. Denken Sie daran, dass Google-Laufwerk ist frei/Werden Sie ein ehrfürchtiges Google Entwickler und beheben das Problem ein für alle Mal
Verwandte Themen