Rのtmpディレクトリ

とあるRのツールを実行した際、こんなエラーが出た。

Fatal error: cannot create 'R_TempDir'

Rの一時ディレクトリが作れないと。 なるほど。なんでだ。

R_TempDirという環境変数でディレクトリが設定されているのかと思って下記を打つも登録されていない。

$ echo $R_TempDir

調べた。

stackoverflow.com

ここによると、デフォルトで一時ディレクトリはtempdir()関数で出力される場所になっている。 この関数では、TMPDIRTMPTEMPの順に環境変数が見られ、初めに見つけた書き込み可能なディレクトリが返り値となるらしい。どの3つにも値が見つからなかった場合、/tmpが一時ディレクトリの保存場所として認識されるらしい。

なるほど。確かめてみよう。

$ echo $TMPDIR

$ echo $TMP

$ echo $TEMP
> tempdir()
[1] "/tmp/RtmpGuU3Z9"

/tmp がないのか??

# ls /
.dockerenv           etc/                 mnt/                 run/                 var/
bin/                 home/                opt/                 sbin/                ~/
boot/                lib/                 proc/                srv/
data/                lib64/               qiime2-pipeline_new/ sys/
dev/                 media/               root/                usr/

ほんとだ、ない。

何かの間違いでこの一時ディレクトリの保存場所をまるっと消してしまっていたようでした。

つくりましょい。

$ mkdir /tmp
$ chmod 777 /tmp
$ ls -ld /tmp
drwxrwxrwx 7 root root 4096 Oct  2 23:48 /tmp

エラーが出なくなりましたとさ。