RStudio: appel inattendu à `dir.create ()` avec la première instruction dans un projet stocké sur un lecteur réseau

Tout d’abord, excuses pour l’absence d’un exemple reproductible, mais je ne peux pas vraiment en fournir un car je crois que le problème réside dans mes parameters réseau. Veuillez traiter cette question comme un appel à l’aide pour résoudre le problème …

Après avoir ouvert dans RStudio un projet stocké sur un lecteur réseau et exécuté la toute première instruction (que ce soit un paquet ou même a <- 1 ), je vois une sortie vraiment étrange dans la console:

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

J’ai tous les répertoires temporaires possibles configurés dans les variables d’environnement utilisateur (TEMP, TMP, TMPDIR) et Sys.getenv() imprime correctement.

“F: \ Marketing” est un chemin valide sur mon lecteur réseau et c’est un répertoire racine du projet.

J’ai essayé de debugonce(dir.create) dans .RProfile pour voir ce que le tempPath est, mais malheureusement, cela a provoqué une erreur “invalide”.

Après avoir copié le projet sur un lecteur local, le problème disparaît, il s’agit donc clairement d’un problème de configuration réseau / lecteur réseau, mais je ne sais pas où creuser plus et mon département informatique. n’est pas vraiment utile ici …

Des idées sur la façon de déboguer cet avertissement?

Le message d’erreur est très clair. Il ne s’agit pas de vos répertoires temporaires. C’est que vous avez besoin de l’autorisation pour créer un dossier à la place.

Une possibilité est que vous n’avez pas la permission de créer un dossier à de tels endroits, par exemple, le lecteur réseau est partagé par de nombreux utilisateurs et les utilisateurs normaux ne sont pas autorisés à créer des dossiers dans le répertoire racine. Si tel est le cas, personne ne peut vous donner la permission, sauf votre département informatique, ou vous pouvez essayer de créer le dossier sous votre propre dossier personnel.

Si vous pensez avoir la permission de créer le dossier, par exemple si vous avez l’autorisation sudo, vous pouvez peut-être essayer d’utiliser le system('sudo mkdir -p tempPath') .

Edit: Désolé, je n’ai pas remarqué que c’est le système Windows, et sudo n’est pas disponible. Mais l’idée est similaire. Peut-être que vous pouvez essayer “exécuter en tant qu’administrateur” ou quelque chose comme ça.