Rstudio 和 Google 驱动器同步问题:"The process cannot access the file because it is being used by another process"

Rstudio and Google Drive Syncing Problems: "The process cannot access the file because it is being used by another process"

所以我正在使用 RStudio 并将我的文件存储在 Google 驱动器(系统上带有文件夹的版本,就像 Dropbox 一样)。我使用它是因为它比 Dropbox 免费提供了更多 space,我需要 space 用于我正在进行的项目。

当我尝试编写任何文档时——R 脚本、RMarkdown 文件等……——我收到标题中提到的错误。使用 Dropbox 不会发生这种情况。我已经为 Dropbox 找到了这个问题的答案,但是解决方案(告诉 Dropbox 不要同步 Rproj 文件)似乎不适用于 Google Drive(如果适用,请纠正我)。

目前,我正在暂停 Google 驱动器,这很好,但我经常忘记恢复它,这会导致头痛。

感谢您的帮助!

我不确定是什么导致了这个错误,但是我可以按照以下步骤解决它:

假设您有一个名为 temp.R 的文件,它给您错误。

1) 复制 temp.R 的所有内容并在本地驱动器(Google 驱动器之外的任何地方)创建一个新文件并将内容粘贴到那里。用一些名字保存它,比如 demo.R

2) 现在从 RStudio 关闭 temp.R 并将 demo.R 移动到 google 驱动器文件夹,然后通过 RStudio 文件资源管理器打开它。

您现在可以使用 demo.R 作为您的新文件并开始处理它。它还将保存您以后所做的所有更改。

所以基本上,我们只是创建一个新文件并将其替换为旧文件。

我也被这个问题困扰很久了。最简单的解决方案是在 RStudio 中工作时 quit/turn 关闭 GoogleDrive。你不会有持续的备份,但无论如何这不是一个大问题。您仍然可以在午休期间或一天之后同步到您的驱动器。这也可能解决许多人遇到的其他问题。总而言之,GoogleDrive 可能不是最好的备份解决方案。我认为仅用于电子邮件和随机共享文档(15-100 Gb)的驱动器仍然是一个好主意,但对于认真的备份(至少 1 Tb),DropBox 或其他一些解决方案可能更可取。

编辑:在进一步使用 RStudio 时,我的解决方案没有解决它 - 同步弹出窗口只是以较低的频率出现。问题是 Google Drive 目前没有忽略文件夹文件类型的功能。

--

这为我解决了:

  1. 在 Google Drive/Backup 中并同步到 首选项...
  2. 我的电脑下点击更改:
  3. 忽略具有这些扩展名的文件下添加.rproj.user

见下方截图:

除了 Oliver Oliver 的回答之外,您可能还想将 .Rhistory 添加到 Gdrive 要忽略的事项列表中。基本上任何在您 type/work 时更新但未明确保存的文件都有可能发生冲突。如果您在 OSX,我还会添加 .DS_Store。

这不是 OP 的问题,但对于那些仍在挠头的人来说,RSelenium 运行 可能会留下一个孤立的 Java 进程,并通过 Rscript 在命令提示符。你怎么知道?尝试删除有问题的 .R 文件。它会说

The action can't be completed because the file is open in java.exe

有关相关问题,请参阅 https://github.com/ropensci/RSelenium/issues/228