Windows 7, обновления.проблема с пакетами:"невозможно переместить временную установку"?


Я использую R 2.13.0 с windows 7, после предоставления моим пользователям полных прав доступа к папке R (как описано здесь). Это позволяет мне устанавливать новые пакеты просто отлично.

однако, при использовании обновления.пакеты (), чтобы обновить существующие пакеты, я продолжаю получать следующую ошибку (например, при обновлении массового пакета):

пакет "масса" успешно распакован и MD5 суммы проверены

предупреждение: не в состоянии двигаться временная установка 'C:Program FilesRR-2.13.0libraryfile6cae3bcfMASS' к 'C:Program ФайлыRR-2.13.0libraryMASS'

любые предложения о том, как это исправить?

p.s: запуск R в качестве администратора или перенос расположения библиотеки из программных файлов не является решением (это хак - но я ищу решение)

13 65

13 ответов:

я обнаружил, что проблема действительно является антивирус "защита файловой системы в реальном времени". Я делаю следующее, чтобы исправить эту проблему:

trace(utils:::unpackPkgZip, edit=TRUE)

я редактирую строку 140 (строка 142 в R 3.4.4):

Sys.sleep(0.5)

to:

Sys.sleep(2)

мне кажется, что антивирус останавливает создание пакета tmp dir. После изменения его на 2 секунды ошибка исчезла.

EDIT: для этого программно выполните

trace(utils:::unpackPkgZip, quote(Sys.sleep(2)), at = which(grepl("Sys.sleep", body(utils:::unpackPkgZip), fixed = TRUE)))

(кредиты @DavidArenburg)

просто чтобы обновить всех, я (думаю, что я) узнал источник проблемы:антивирус.

"защита файловой системы в реальном времени" блокировала R от копирования файлов между папками после их загрузки. После добавления каталога R в список исключений (в сочетании с добавлением разрешения пользователя и установкой R на D:\R) проблема исчезла. Со всей этой работой я мог бы также переключиться на Linux (я должен, действительно...)

(I обновил свой пост с вышеуказанной информацией: http://www.r-statistics.com/2011/04/how-to-upgrade-r-on-windows-7/)

Я надеюсь, это поможет кому-то в будущем, Тал

Если вы не можете отключить антивирус, например, из-за корпоративной политики, вот обходной путь, который я нашел. Отладка функции распаковать пакет, а затем шаг через него дает антивирусу достаточно времени, чтобы сделать свою работу без вмешательства. Используйте эту команду:

debug(utils:::unpackPkgZip) install.packages("packageName")

а затем шаг через код (нажав enter много раз), когда R начинает отладку во время установки.

Я нашел это решение здесь.

Если вы можете просто загрузить двоичный файл прямо из CRAN. В windows при загрузке это будет zip-файл. Теперь вручную распакуйте это в файл ..библиотека / папка вашего R (.libPaths()). Это сработало для меня на некоторых пакетах.

У меня была эта проблема с установкой как swirl, так и dplyr. Я работаю на Windows 64-разрядной.

предупреждение: не удается переместить временную установку

то, что я сделал, это я получил доступ к своим временным файлам на диске C: и открыл свою программу извлечения файлов, и я извлек файлы из временного файла на диске C: в мои программные файлы R на диске C:, вручную скопировав их. Это работало как для dpylr, так и для swirl. В восторге!

спасибо,

персик

вы не можете использовать lib.параметр loc для обновления пакетов только в вашей личной библиотеке (в user)? Не должно быть никакого способа разрешить обычному, не дополненному пользователю изменять файлы в папке program files, поэтому единственное, что вы можете сделать (если вы не хотите увеличивать пользователя), - это не обновлять пакеты там.

обходной путь заключается в том, чтобы избежать установки R в папку program files (которая может быть более или менее взломана, чем просто перенос местоположения библиотеки из нее, в зависимости от вашей точки зрения).

наконец, если Либ.loc не режет его, вы можете посмотреть на исходный код для обновления.пакеты и создайте свою собственную настроенную версию, которая всегда будет избегать общего расположения библиотеки в программных файлах.

Я только что встретил тот же вопрос, и решение, которое я узнал, состояло в том, что вы должны установить пакеты с использованием оригинального программного обеспечения R (плюс, вы должны выбрать правильный зеркальный сайт, некоторые из них заблокированы). Сначала я использовал Rstudio для установки пакетов, и у меня была та же проблема, что и у вас. Надеюсь, что это полезно.

Я столкнулся с этой ошибкой несколько раз. В моем случае это потому, что наши администраторы хотят, чтобы мы использовали удаленные виртуальные диски (в Windows 7) для наших файлов, и все заперто плотно, как барабан. Единственный способ использовать пакеты R - это каталог lib на этом удаленном виртуальном диске. Это не было бы проблемой за исключением того, что сеть не всегда гладко и быстро. Таким образом, когда мне нужен пакет, особенно один с несколькими другими пакетами на буксире (например, MBESS), мне либо нужно пройти через получить.пакеты () обрабатывают несколько раз, пока он, наконец, не закончит или не сделает это головной болью, чтобы сделать быстро, как кролик для меня. Я не могу всегда ждать этого.

Я просто пошел в папку библиотеки (Windows XP) и удалил все папки fileXXXX. Повторите установку, и она будет работать.

вы должны войти в Свойства папки R и изменить параметры безопасности. Вы можете включить возможность записи и изменения для всех пользователей.

ошибка : "невозможно переместить временную установку" в основном возникает из-за любого антивируса, работающего в вашей системе. Попробуйте распаковать загруженный файл из папки Temp в путь к библиотеке по умолчанию (вы можете получить его, запустив .libPaths () в сеансе R).

У меня была та же проблема. Поскольку проблема, по-видимому, является антивирусом, блокирующим передачу загруженного файла, я попробовал другой метод загрузки в установке.пакеты и это сработало.

например:

install.packages("stringr", method = "curl")
install.packages('MASS')

это решило бы вашу проблему, индивидуально установив необходимые пакеты.