install.packages出错:无法删除先前安装的软件包'DBI'

时间:2017-08-28 15:23:32

标签: r

我尝试了install.packages("RMySQL")并且它运行了一秒钟然后说:

  

install.packages出错:无法删除先前安装的软件包'DBI'

我做了remove.packages("DBI")并且说:

  

remove.packages(" DBI&#34)   从'/Library/Frameworks/R.framework/Versions/3.2/Resources/library'中删除包   (因为'lib'未指定)

然后我重试install.packages("RMySQL")并说:

  

install.packages出错:无法删除先前安装的软件包'DBI'

实际上没有删除DBI依赖项或其他内容。或者我可能从错误的区域删除它?我很困惑。

10 个答案:

答案 0 :(得分:6)

尝试在没有任何启动文件的情况下启动R 以防止加载DBI(但是在您的盒子上会发生这种情况)。

然后您应该能够删除未附加的包。

或者,只需从库目录中删除DBI/目录。

看起来应该类似于:

$ R --vanilla     ## prevent inits at load

R version 3.4.1 (2017-06-30) -- "Single Candle"
Copyright (C) 2017 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.

  Natural language support but running in an English locale

R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.

> ls()               ## no variables
character(0)
> search()           ## no packages besides Base
[1] ".GlobalEnv"        "package:stats"     "package:graphics" 
[4] "package:grDevices" "package:utils"     "package:datasets" 
[7] "package:methods"   "Autoloads"         "package:base"     
> 

答案 1 :(得分:3)

检查您的任务管理器中是否有在后台运行的R相关程序,我从microsoft.r.host.broker.exe中打开了文件,阻止了我访问或删除它们。关闭它可以解决问题。

答案 2 :(得分:2)

我遇到了同样的问题。然后我尝试重新启动R或RStudio,但这种情况再次发生。

然后我意识到,当我重新启动RStudio时,由于一直将.Rdata和.Rhistory文件保存在我的工作区(工作目录)中,因此它一直加载以前的数据。

我删除了这两个文件,然后再次尝试重新启动并重新安装,它起作用了。如果您处于相同的情况,也许会有所帮助。

答案 3 :(得分:2)

先清空环境,让包不被加载:-

  1. 转到导航栏中的会话 -> 清除工作区。
  2. 转到导航栏中的会话 -> 重新启动 R 然后 update.packages() 起作用了。

答案 4 :(得分:1)

我也遇到了这个问题,无论我重新启动R或终止R多少次,尝试删除软件包文件或终止R进程,我都无法安装软件包(在我的情况下为openxlsx)。

最后,我最终重新启动PC,创建了一个新项目,称为“废弃”项目,名为install.packages(),就成功了。

答案 5 :(得分:1)

如果您在Windows上的RStudio中工作:

  • 首先使用RStudio工具栏->工具->检查软件包更新来更新所有已安装的软件包。
  • 尝试再次安装软件包。

对于我来说,这解决了尝试从GitHub存储库中更新(=重新安装)先前安装的R软件包时的警告“无法删除软件包的先前安装...”。

答案 6 :(得分:0)

转到具有所有packages文件夹的R库,然后删除要卸载的特定软件包文件夹,然后再次尝试安装。仅使用remove.package删除软件包将无法正常工作。

答案 7 :(得分:0)

我对软件包'rlang'遇到了同样的问题,尝试重新安装时会出现以下错误: “ install.packages中的错误:无法删除软件包'rlang'的先前安装”

这里的问题是旧安装没有完全消失。

发生这种情况时,只需查找安装软件包的位置(使用命令“。libPaths()” ),然后查找名称不是常规名称的目录安装的软件包中包含的名称,即需要删除的文件夹。

在删除了旧的安装文件夹后,您可以重新安装该软件包了,它对我有用,希望对您有所帮助!

答案 8 :(得分:0)

在完全删除R及其库之后,我重新安装了R 4.0.1并再次打包了

sudo rm -rf /Library/Frameworks/R.framework /Applications/R.app \     
/usr/bin/R /usr/bin/Rscript

有效

答案 9 :(得分:0)

在 Windows 10 和 R 版本 3.6.3 上

我不知道我遇到过多少次这个问题,解决了它,直到下一次出现时才忘记是如何解决的。我已经多次重温这篇文章了..这一次,以下解决了我的问题:

按照@Marcus LCC 的建议删除 .Rhistory 和 .RData 并重新启动计算机。

然后我尝试再次安装我的软件包,但出现错误代码:

devtools::install_github("hrbrmstr/nominatim")

Error in loadNamespace(i, c(lib.loc, .libPaths()), versionCheck = vI[[i]]) : 
  there is no package called ‘rlang’

所以我安装了 rlang(尽管已经安装了它),并再次安装了我想要的包。 (注意我从来没有删除 rlang,只有 .rHistory 和 .rData)

为我工作,希望对某人有所帮助! :)