Неустранимая ошибка: не может mkdir R_TempDir
При попытке запустить R, я получаю эту ошибку:
Неустранимая ошибка: не удается mkdir R_TempDir
Я нашел две возможные исправления для этой проблемы путем googling. Первое заключалось в том, чтобы обеспечить, чтобы в моем каталоге tmp не было загрузки подкаталогов - это не так, и оно практически пустое. Второе исправление заключалось в том, чтобы гарантировать, что TMP, TMPDIR и R_USER в моей среде не были установлены на несуществующие пути - у меня даже не было этого набора. Поэтому я создал каталог tmp в своем домашнем каталоге и добавил путь к TMP в моей среде. Я смог запустить R один раз, а затем снова получил фатальную ошибку. Ничего не было в каталоге TMP, который я установил в своей среде. Кто-нибудь знает, что еще я могу попробовать? Спасибо.
Ответы
Ответ 1
По умолчанию у вашего временного каталога есть неправильные разрешения. Здесь у меня
$ 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 показали, что проблема тоже в некоторых дистрибутивах.
Ответ 2
Dirk прав, но пропускает точку: если /tmp
заполнено, вы не можете создавать туда подкаталоги. Попробуйте
df /tmp
Я просто ударил это на общем сервере, где /tmp
установлен на нем собственный раздел и используется многими пользователями. В этом конкретном случае вы не можете понять, кто это виноват, потому что разрешения ограничивают вас тем, кто заполняет раздел tmp. В принципе, попросите администраторов системы понять это.
Ответ 3
Перейдите в свою папку пользователя и создайте файл с именем .Renviron и добавьте следующую строку, сохраните ее и снова запустите RStudio или Rgui или Rterm
TMP = '<path to folder where Everyone has full control>'
Это работало со мной в Windows 7
Ответ 4
Просто эта проблема и, наконец, решила ее. Просто разрешение на использование Windows. Перейдите к переменным окружения и найдите местоположение временных папок. Затем щелкните правой кнопкой мыши по папке > properties > security > advanced > change all to full control > tick "заменить все записи прав доступа к дочернему объекту наследуемыми правами доступа от этого объекта" > Ok > ok.
Ответ 5
Это также произойдет, когда ваш компьютер будет полностью, совершенно вне пространства. В настоящее время мой Mac имеет 0 kb бесплатно и вызывает эту ошибку. Освобождение пространства устранило проблему.