2017-07-06 45 views
6

Po pierwsze, przepraszam za brak odtwarzalnego przykładu, ale tak naprawdę nie mogę go dostarczyć, ponieważ uważam, że problem leży w moich ustawieniach sieci. Proszę potraktować to pytanie jako wezwanie do pomocy w debugowaniu problemu ...RStudio: nieoczekiwane wywołanie `dir.create()` z pierwszą instrukcją w projekcie przechowywanym na dysku sieciowym

Po otwarciu w RStudio zapisany jest projekt przechowywany na dysku sieciowym i uruchamiana jest pierwsza instrukcja (jest to obciążenie pakietowe lub nawet a <- 1). naprawdę dziwne wyjście w konsoli:

> a <- 1 
Warning message: 
In dir.create(tempPath, recursive = TRUE) : 
    cannot create dir 'F:\Marketing', reason 'Permission denied' 

mam wszystkie możliwe katalogi tymczasowe utworzone w zmiennych środowiskowych użytkownika (TEMP, TMP, TMPDIR) i Sys.getenv() drukuje je poprawnie.

"F: \ Marketing" jest poprawną ścieżką na moim dysku sieciowym i jest katalogiem głównym projektu.

Próbowałem debugonce(dir.create) w .RProfile, aby zobaczyć, co jest tempPath, ale niestety to spowodowało błąd "nieprawidłowy" envir 'argumentu.

Po skopiowaniu projektu na dysk lokalny problem znika, więc jest to wyraźnie problem z dyskiem sieciowym/konfiguracją sieci, ale nie wiem, gdzie kopać więcej i mój dział IT. nie jest naprawdę przydatny tutaj ...

Jakieś pomysły dotyczące debugowania tego ostrzeżenia?

+0

Mam sens, jeśli jesteś w systemie Windows, musisz sprawdzić kod programu R dla 'F: \ Marketing' i zastąpić' F: \\ Marketing' lub 'F:/Marketing'. Dlaczego istnieje wiele funkcji R, które oczekują ciągu znaków zawierającego nazwę pliku, który może wymagać dołączenia ścieżki do tego pliku. Forma nazw ścieżek w systemie Windows ma niefortunną kolizję z R. Separator w nazwach ścieżek to odwrócony ukośnik, który w R jest znakiem ucieczki w łańcuchach znaków. – Technophobe01

+0

Mam nadzieję, że to pomoże - jeśli nie, mogę spróbować odtworzyć na komputerze z systemem Windows. – Technophobe01

+1

Podczas otwierania projektu RStudio tworzy folder '.Rproj.user' w folderze projektu. Nie sądzę, żebyś mógł to zmienić, więc możesz poprosić administratorów o prawo do tworzenia podfolderów. – HubertL

Odpowiedz

0

Komunikat o błędzie jest bardzo jasny. Nie chodzi o twoje tymczasowe katalogi. Chodzi o to, że potrzebujesz pozwolenia na utworzenie folderu w miejscu.

Jedną z możliwości jest to, że nie masz uprawnień do tworzenia folderów w takich miejscach, na przykład dysk sieciowy jest udostępniany przez wielu użytkowników, a zwykli użytkownicy nie mają uprawnień do tworzenia folderów w katalogu głównym. W takim przypadku nikt nie może udzielić pozwolenia użytkownikowi z wyjątkiem działu IT lub spróbować utworzyć folder pod własnym folderem osobistym.

Jeśli uważasz, że masz uprawnienia do tworzenia folderu, na przykład masz uprawnienia sudo, możesz spróbować użyć usługi system('sudo mkdir -p tempPath').

Edytuj: Niestety, nie zauważyłem, że jest to system Windows, a sudo jest niedostępny. Ale pomysł jest podobny. Może możesz spróbować "uruchomić jako administrator" lub coś w tym stylu.

+0

'sudo' działa w systemie Windows? –

+0

@ 42- Oczywiście, że nie.Przepraszam, że początkowo nie zauważyłem Windows. Za wskazanie tego. – Consistency

+0

Uważam, że problem jest nieco głębszy. Właśnie zauważyłem, że popełniłem błąd w opisie, "' F: \ Marketing "nigdy nie powinien być używany przez projekt, ponieważ nie jest on bezpośrednim korzeniem, ale są inne foldery po drodze (np.' 'F : \ Marketing \ folderA \ folderB \ itd. "Wygląda więc na to, że ścieżka jest gdzieś wycięta." Wygląda jak pytanie do deweloperów RStudio. –