当尝试运行R时,我得到这个错误:
致命错误:无法mkdir R_TempDir
我通过谷歌搜索找到了这个问题的两个可能的修复方法。第一个是确保我的tmp目录不包含太多的子目录--它不包含,而且实际上是空的。第二个修复是确保我的环境中的TMP、TMPDIR和R_USER没有设置为不存在的路径-我甚至没有设置这些路径。因此,我在我的主目录中创建了一个tmp目录,并在我的环境中将其路径添加到TMP。我可以运行R一次,然后我又得到了致命错误。我在环境中设置的TMP目录中没有任何内容。有没有人知道我还可以尝试什么?谢谢。
发布于 2011-06-10 22:37:30
您的默认临时目录似乎具有错误的权限。这是我的
$ ls -ld /tmp
drwxrwxrwt 22 root root 4096 2011-06-10 09:17 /tmp关键部分是“每个人”都可以读或写。你也需要这样做。它当然可以包含子目录。
您运行的是AppArmor或SE Linux之类的操作系统吗?
编辑2011-07-21:因为有人认为有必要否决这个答案-- help(tempfile)非常清楚tmpdir (临时文件或目录的默认目录)尝试的值:
默认情况下,
'tmpdir'将是'tempdir()'提供的目录。这将是通过以下规则找到的临时目录的子目录。依次检查环境变量'TMPDIR'、'TMP'和'TEMP',并使用第一个找到的指向可写目录的变量:如果都没有成功,则使用'/tmp'。
所以我把钱花在检查这三个环境变量上。但在一些发行版上,AppArmor和SELinux也是一个问题。
发布于 2012-08-16 09:46:24
Dirk是对的,但忽略了一点:如果/tmp已满,则不能在其中创建子目录。试一试
df /tmp我刚刚在一个共享服务器上遇到了这个问题,在这个服务器上,/tmp挂载在它自己的分区上,并且由许多用户共享。在这种情况下,您不能真正看到是谁的错,因为权限限制了您查看谁在填充tmp分区。基本上必须让sys管理员来解决这个问题。
发布于 2015-03-09 19:49:55
转到您的用户目录,创建一个名为.Renviron的文件,添加以下行,保存它并重新打开RStudio或Rgui或Rterm
TMP = '<path to folder where Everyone has full control>'这对我在Windows 7上很有效
https://stackoverflow.com/questions/6307836
复制相似问题