我的.Renviron文件指定
TMP = 'F:\temp'
TMPDIR = 'F:\temp'
在RStudio中我得到以下结果:
Sys.getenv("TMP")
[1]“F:\ temp”
Sys.getenv("TMPDIR")
[1]“F:\ temp”
那部分是应该的样子。我在F:/上有1 TB的可用空间,而在C:/。
上有少于50 MB的空闲空间然而,当我通过Rscript作为计划任务运行脚本时,它总是失败,因为它以某种方式恢复为尝试使用C:/用于临时文件并且空间不足。
我该如何解决这个问题?
在当前用例中,临时文件的主要用户来自包fread.sas7bdat.parso
sas7bdat.parso
。我尝试在该函数调用中设置tempfile=("F://temp")
,但没有任何区别。
答案 0 :(得分:4)
通过系统属性的“环境变量”选项卡将它们设置为系统范围,以便在 R启动之前将它们设置为。这就是Rstudio所完成的:它在启动底层R进程之前作为GUI / IDE 运行。
插图:
edd@max:~$ TMP=/opt TEMPDIR=/src Rscript -e \ # line broken for display only
'print(Sys.getenv("TMP")); print(Sys.getenv("TEMPDIR"))'
[1] "/opt"
[1] "/src"
edd@max:~$
该演示在Linux上,但概念是相同的。