【发布时间】:2018-03-17 07:56:58
【问题描述】:
在 R/RStudio 中安装或更新软件包时,我发现了许多与此警告相关的问题,但似乎没有一个完全符合我的情况:
- 企业级 Windows 7 系统,因此无法获得管理员权限
- 无法更改 McAfee Anti-Virus 例外列表
- R 完全安装在用户空间
C:\Users\[myname]\R - RStudio 完全安装在用户空间
C\Users\[myname]\RStudio - 两个目录都没有权限问题...我对它们有完全的访问控制权
- 问题仅在安装 R 3.4 后出现,但 RStudio 在启动时随机失败或挂起几个月
-
R_LIBS_USER添加为用户环境变量,指向正确的目录 -
.libPaths()显示正确的目录,包括系统和用户 - R 版本 3.4.2,RStudio 版本 1.0.153
- 卸载了 R 和 Rstudio 并彻底重新安装了两者
- 尝试
trace(utils:::unpackPkgZip,edit = T)并将第 140 行Sys.sleep(0.5)编辑为Sys.sleep(2),这有时会暂时有效,但编辑不会保持不变...在每次会话重新启动时重置为Sys.sleep(0.5) - 在 RStudio 和 RGui 中都发生
-
任何大于几 Kb 的包都会给出以下信息:
package ‘packagename’ successfully unpacked and MD5 sums checked Warning in install.packages : unable to move temporary installation ‘C:\Users\[myname]\R\win-library\3.4\file2b884fc37c13\packagename’ to ‘C:\Users\[myname]\R\win-library\3.4\packagename’
软件包无法安装或更新。所以,我的问题是:
- 有没有不需要管理员权限或更改防病毒策略的方法来完全避免该问题?
- 有没有办法让
unpackPkgZip的编辑永久保存?
在这一点上,我很难过。我怀疑它与下载后临时锁定文件/目录的防病毒软件有关,但我对此无能为力。 Sys.sleep(2) 似乎可以解决问题,但我不能在每个软件包安装或更新之前一直这样做,而且似乎无法让编辑保持不变。
【问题讨论】:
-
trace用于交互式调试,如果您想永久更改包源文件 - see the answer to this question 了解如何执行此操作 - 这不是我做过的事情我自己。 -
@TomNewton - 啊。谢谢你。我应该意识到这一点,但认为跟踪上的“保存”按钮实际上会保存到包中(为什么还有一个?)。我将根据链接查看包编辑,看看这对我来说是否可行。
-
是的,我明白为什么这是误导,也许“应用”会更好。它看起来相当简单,如果您确实取得了成功,值得在此处发布作为答案以供将来参考。