When I install a package, the prerequisite packages were installed first before the actual package. I get the "unable to move temporary installation"
warning for all the prerequisite packages, but no such warning for the actual package. But the package will give error when I load it.
For example, when I install.packages("mlr")
, it installed all the dependencies and I got various warnings such as this:
package ‘BBmisc’ successfully unpacked and MD5 sums checked
Warning in install.packages :
unable to move temporary installation ‘D:\Documents\R\win-library\3.2\filef3811142c73\BBmisc’ to ‘D:\Documents\R\win-library\3.2\BBmisc’
I ignored it because it's just a warning. Unfortunately library(mlr)
gave me Error: package ‘BBmisc’ required by ‘mlr’ could not be found
, so I couldn't ignore it after all.
install.packages("BBmisc")
directly didn't produce the warning.
What gives? How can I work through this, short of installing all the dependencies on my own?
In case session info needed:
> sessionInfo()
R version 3.2.2 (2015-08-14)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 7 x64 (build 7601) Service Pack 1
locale:
[1] LC_COLLATE=English_Singapore.1252 LC_CTYPE=English_Singapore.1252
[3] LC_MONETARY=English_Singapore.1252 LC_NUMERIC=C
[5] LC_TIME=English_Singapore.1252
attached base packages:
[1] stats graphics grDevices utils datasets methods base
loaded via a namespace (and not attached):
[1] tools_3.2.2
This problem is caused by the antivirus (most likely) as was suggested by user3710546. If you cannot disable the antivirus a workaround is to enable debugging in the package unzip function with this command:
debug(utils:::unpackPkgZip)
This will then allow you to step through the code (by pressing enter many times). This just makes the function run slower, giving the antivirus software time to complete its scanning of the new files before R wants to copy them.
I found this solution here.