我,使用R 2.13.0与Windows 7,给我的用户完全权限到R后的文件夹(如描述在这里)。这使我可以安装新软件包。但是,当使用update.packages()更新现有软件包时,我不断收到以下错误消息(例如,更新MASS软件包时):软件包“ MASS”成功拆包并检查了MD5的总和警告:不能动弹临时安装 'C:\ Program Files文件\ r \ R-2.13.0 \库\ file6cae3bcf \大众'到'C:\ Program Files文件\ r \ R-2.13.0 \库\ MASS'对于如何解决这个问题,有任何的建议吗?ps:以管理员身份运行R或将库位置移出“程序文件”不是解决方案(这是hack,但我正在寻找解决方案)
3 回答
慕无忌1623718
TA贡献1744条经验 获得超4个赞
我发现问题确实是杀毒软件的“实时文件系统保护”。我执行以下操作来解决此问题:
trace(utils:::unpackPkgZip, edit=TRUE)
我编辑第140行(R 3.4.4中的第142行):
Sys.sleep(0.5)
至:
Sys.sleep(2)
我好像杀毒软件停止了软件包tmp dir的创建。将其更改为2秒后,错误消失了。
编辑:以编程方式执行此操作
trace(utils:::unpackPkgZip, quote(Sys.sleep(2)), at = which(grepl("Sys.sleep", body(utils:::unpackPkgZip), fixed = TRUE)))
沧海一幻觉
TA贡献1824条经验 获得超5个赞
如果由于公司政策等原因而无法关闭防病毒软件,那么这是我发现的解决方法。调试解压缩程序包功能,然后逐步执行它,可使防病毒软件有足够的时间来完成其工作而不会受到干扰。使用此命令:
debug(utils:::unpackPkgZip)
install.packages("packageName")
然后在R在安装过程中开始调试时逐步浏览代码(多次按Enter)。
- 3 回答
- 0 关注
- 603 浏览
添加回答
举报
0/150
提交
取消