Windows 7,update.packages问题:“无法移动临时安装”?

时间:2011-04-18 08:48:50

标签: r windows-7 permissions packages file-permissions

在向用户提供R文件夹的完全权限(如here所述)之后,我正在使用R 2.13.0和Windows 7。 这使我可以很好地安装新包。

但是,当使用update.packages()来更新现有的包时,我不断收到以下错误(例如,更新MASS包时):

  

包'MASS'成功解包并检查MD5总和

     

警告:无法移动临时安装   “C:\ PROGRAM   文件\ r \ R-2.13.0 \库\ file6cae3bcf \ MASS”   到'C:\ Program   文件\ r \ R-2.13.0 \库\ MASS'

有关如何解决此问题的任何建议吗?

p.s:以管理员身份运行R或将库位置移出Program Files不是一个解决方案(这是一个黑客 - 但我正在寻找解决方案)

13 个答案:

答案 0 :(得分:102)

我发现问题确实是防病毒“实时文件系统保护”。我执行以下操作来解决问题:

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

我编辑第140行(R 3.4.4中的第142行):

Sys.sleep(0.5)

为:

Sys.sleep(2)

我好像杀毒软件会阻止tmp目录的创建。将其更改为2秒后,错误消失。

编辑:以编程方式执行

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

(来自@DavidArenburg)

答案 1 :(得分:64)

只是为了更新所有人,我(我认为我)找到了问题的根源:防病毒

“实时文件系统保护”阻止了R在下载文件夹之后复制文件。 将R目录添加到例外列表(再加上添加用户权限并在D:\ R上安装R),问题就消失了。通过所有这些工作,我不妨切换到Linux(我应该,真的......)

(我使用上述信息更新了我的帖子:http://www.r-statistics.com/2011/04/how-to-upgrade-r-on-windows-7/

我希望它能帮助将来的某个人, 塔尔

答案 2 :(得分:41)

如果您无法关闭防病毒,例如,由于公司政策,这是我找到的解决方法。调试解压缩包功能然后逐步执行它可以让防病毒软件有足够的时间完成工作而不会干扰。使用此命令:

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

然后在R安装期间开始调试时逐步执行代码(通过多次输入)。

我找到了这个解决方案here

答案 3 :(得分:14)

如果您可以直接从CRAN下载二进制文件。在Windows上下载时,它将是一个zip文件。现在手动将其解压缩到R(.libPaths())的..library /文件夹中。它在一些软件包上对我有用。

答案 4 :(得分:7)

我在安装漩涡和dplyr时遇到了这个问题。我正在使用Windows 64位。

警告:无法移动临时安装

我所做的是访问C:驱动器上的临时文件,并打开我的文件提取程序,然后将文件从C:驱动器中的临时文件解压缩到C:驱动器中的R程序文件中,手动复制它们。这适用于dpylr和漩涡。激起!

干杯,

桃子

答案 5 :(得分:2)

您是否可以使用lib.loc参数仅更新个人库中的包(在用户中)? 应该没有办法让普通的非扩充用户更改程序文件文件夹中的文件,所以你唯一可以做的事情(如果你不想增加用户)就是让R不在那里更新包

解决方法是避免在程序文件文件夹中安装R(这可能或多或少是一种黑客攻击,而不仅仅是将库位置移出它,具体取决于您的观点)。

最后,如果lib.loc没有删除它,你可以查看update.packages的源代码并创建自己的自定义版本,它将始终避免程序文件中的公共库位置。

答案 6 :(得分:2)

我刚刚遇到了同样的问题,我发现的解决方案是您应该使用原始R软件安装软件包(另外,您应该选择正确的镜像站点,其中一些被阻止)。起初我用Rstudio来安装软件包,遇到了同样的问题。希望这有用。

答案 7 :(得分:1)

我已多次遇到此错误。在我自己的情况下,这是因为我们的管理员希望我们使用远程虚拟磁盘(在Windows 7上)作为我们的文件,所有内容都被锁定为鼓。我可以使用R包的唯一方法是在该远程虚拟磁盘上的lib目录中。除了网络不总是平滑和快速之外,这不会成为问题。因此,当我需要一个包,特别是包含其他几个包的包(例如MBESS)时,我要么多次经历get.packages()过程,直到它最终完成或使它成为头疼的问题。像我一样快速做兔子。我无法一直等待IT。

答案 8 :(得分:1)

我刚进入库文件夹(Windows XP)并删除了所有fileXXXX文件夹。重新安装它是有效的。

答案 9 :(得分:0)

我遇到了同样的问题。由于问题似乎是阻止下载文件的transf的防病毒软件,我在install.packages中尝试了不同的下载方法,并且它有效。

例如:

elm make

答案 10 :(得分:0)

您必须进入R文件夹的属性并更改安全参数。您可以启用为所有用户编写和修改的选项。

答案 11 :(得分:0)

错误:基本上由于系统上运行的任何防病毒程序而导致出现“无法移动临时安装”错误。 尝试从Temp文件夹中将下载的文件解压缩到默认的库路径(您可以通过在R会话中运行.libPaths()来获取它。)

答案 12 :(得分:0)

我正在使用MRAN,但我遇到了很多版本控制问题。尝试与tidyverse和ggplot2一起使用,并通过从Microsoft升级到最新版本,它解决了我所有的R-Studio版本控制问题。

版本信息:

Microsoft R Open 3.5.1
The enhanced R distribution from Microsoft
Default CRAN mirror snapshot taken on 2018-08-01.

Download Microsoft R Open 3.5.1