とあるRのツールを実行した際、こんなエラーが出た。
Fatal error: cannot create 'R_TempDir'
Rの一時ディレクトリが作れないと。 なるほど。なんでだ。
R_TempDir
という環境変数でディレクトリが設定されているのかと思って下記を打つも登録されていない。
$ echo $R_TempDir
調べた。
ここによると、デフォルトで一時ディレクトリはtempdir()
関数で出力される場所になっている。
この関数では、TMPDIR
、TMP
、TEMP
の順に環境変数が見られ、初めに見つけた書き込み可能なディレクトリが返り値となるらしい。どの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
エラーが出なくなりましたとさ。