首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >致命错误:无法mkdir R_TempDir

致命错误:无法mkdir R_TempDir
EN

Stack Overflow用户
提问于 2011-06-10 22:34:27
回答 8查看 26.1K关注 0票数 23

当尝试运行R时,我得到这个错误:

致命错误:无法mkdir R_TempDir

我通过谷歌搜索找到了这个问题的两个可能的修复方法。第一个是确保我的tmp目录不包含太多的子目录--它不包含,而且实际上是空的。第二个修复是确保我的环境中的TMP、TMPDIR和R_USER没有设置为不存在的路径-我甚至没有设置这些路径。因此,我在我的主目录中创建了一个tmp目录,并在我的环境中将其路径添加到TMP。我可以运行R一次,然后我又得到了致命错误。我在环境中设置的TMP目录中没有任何内容。有没有人知道我还可以尝试什么?谢谢。

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2011-06-10 22:37:30

您的默认临时目录似乎具有错误的权限。这是我的

代码语言:javascript
复制
$ 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也是一个问题。

票数 22
EN

Stack Overflow用户

发布于 2012-08-16 09:46:24

Dirk是对的,但忽略了一点:如果/tmp已满,则不能在其中创建子目录。试一试

代码语言:javascript
复制
df /tmp

我刚刚在一个共享服务器上遇到了这个问题,在这个服务器上,/tmp挂载在它自己的分区上,并且由许多用户共享。在这种情况下,您不能真正看到是谁的错,因为权限限制了您查看谁在填充tmp分区。基本上必须让sys管理员来解决这个问题。

票数 28
EN

Stack Overflow用户

发布于 2015-03-09 19:49:55

转到您的用户目录,创建一个名为.Renviron的文件,添加以下行,保存它并重新打开RStudio或Rgui或Rterm

代码语言:javascript
复制
TMP = '<path to folder where Everyone has full control>'

这对我在Windows 7上很有效

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6307836

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档