【问题标题】:Error in install.packages : cannot remove prior installation of package ‘DBI’install.packages 中的错误:无法删除软件包“DBI”的先前安装
【发布时间】:2018-02-05 22:12:20
【问题描述】:

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

install.packages 中的错误:无法删除之前安装的包“DBI”

我做了remove.packages("DBI"),它说:

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

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

install.packages 中的错误:无法删除之前安装的包“DBI”

DBI 依赖项实际上并没有被删除或其他什么。或者可能我从错误的区域删除了它?我糊涂了。

【问题讨论】:

  • 你确定你删除了DBI吗?如果您尝试require(DBI),会发生什么?
  • 您是否尝试在运行remove.packages 后重新启动您的 R 会话?
  • 我最好的猜测是DBI 已附加到您的会话中,并且在附加时可能无法删除。您可以尝试在不附加任何软件包的情况下重新启动您的 R 会话,或者运行 detach("package:DBI", unload=TRUE)。那么install.packages 应该可以工作了。
  • jsta.运行 remove.packages 后,我确实尝试重新启动我的 r 会话。当我尝试安装“RMySQL”、“install.packages 中的错误...”时,我得到了相同的结果
  • Nicola 在我执行 remove.packages("DBI") 后显示“正在加载所需的包:DBI”。本杰明。我去做。谢谢大家试图帮助我。我永远感激不尽。

标签: r


【解决方案1】:

如果您在 RStudio 中工作:

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

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

【讨论】:

  • 谢谢,成功了!
【解决方案2】:

更改所有文件夹的权限 '/Library/Frameworks/R.framework/Versions/3.2/Resources/library'

运行install.packages

安装后恢复权限

【讨论】:

    【解决方案3】:

    先清除环境,使包不加载:-

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

    【讨论】:

      【解决方案4】:

      在 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)

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

      【讨论】:

        【解决方案5】:

        我在使用包 'rlang' 时遇到了同样的问题,在尝试重新安装它时会出现错误:“install.packages 中的错误:无法删除包'rlang' 的先前安装”强>

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

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

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

        【讨论】:

          【解决方案6】:

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

          【讨论】:

          • 同样,我在 Windows 上时遇到了这个问题,我忘记了还有其他进程正在从命令行 Rscript 运行 R,或者类似的其他 RStudio 进程正在运行。所有这些都应该关闭。
          【解决方案7】:

          我遇到了同样的问题。我尝试重新启动 R 或 RStudio,它又发生了。

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

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

          【讨论】:

            【解决方案8】:

            在完全删除 R 及其库后,我重新安装了 R 4.0.1 和软件包

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

            成功了

            【讨论】:

              【解决方案9】:

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

              最后,我重新启动了我的电脑,创建了一个新项目作为“一次性”,称为install.packages(),然后就成功了。

              【讨论】:

                【解决方案10】:

                转到包含所有包文件夹的 R 库并删除要卸载的特定包文件夹,然后再次尝试安装。仅仅删除带有remove.package 的包是行不通的。

                【讨论】:

                  【解决方案11】:

                  尝试在没有任何启动文件的情况下启动 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"     
                  > 
                  

                  【讨论】:

                  • @user2163234 对后台运行程序的评论以及您的建议使我得到了答案。我重新启动计算机以终止进程,然后在 cmd 提示符下导航到 R 在计算机上的位置。然后我在没有启动文件R.exe --vanilla 的情况下启动了 R,并尝试了install.packages("my_package_here"),它成功了!谢谢@Dirk
                  猜你喜欢
                  • 2017-06-14
                  • 2019-01-29
                  • 2018-07-24
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 2012-03-09
                  相关资源
                  最近更新 更多