我,使用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 關注
- 635 瀏覽
添加回答
舉報
0/150
提交
取消