问题
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
回答1:
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.
回答2:
Following way helped for me for windows 10: I wanted to install shiny package and was getting same error.
- I created "shiny" folder inside /library.
- I did setwd to this shiny folder.
- Then triggered bellow command: install.packages("shiny",destdir="./",lib="./")
- It still failed with the same error, but now zips were downloaded in the shiny folder.
- There were two zips: httpuv.zip and shiny.zip
- I extracted contents of shiny zip into shiny folder and contents of httpuv zip in httpuv folder.
- Restarted R studio to be safe. Then triggered library(shiny) and boom, it worked like a charm..!!!
回答3:
I tried all the solutions suggested here and elsewhere. I'm running Windows 7 in a large company where antivirus etc. is forced. The solution for me was:
- Uninstall R and RStudio
- Delete all files (including hidden) that has to do with R
- Install R and RStudio as administrator
- Run RStudio as administrator
Only downside is a warning when starting RStudio (running as admin). All updates and installs works perfect.
回答4:
If you run the below statement right before the install.packages expression then it should install the package:
trace("unpackPkgZip", where=asNamespace("utils"), quote(Sys.sleep(2.5)), at=14L
,print=FALSE)
来源:https://stackoverflow.com/questions/34739681/unable-to-move-temporary-installation-when-installing-dependency-packages-in-r