(R) 尝试加载 SQLDF 包时出错

(R) Error when trying to load the SQLDF package

我在使用以下代码时遇到了一些问题 运行:

install.packages("sqldf",dep=TRUE)
library(sqldf)
install.packages("RSQLite",dep=TRUE)
library(RSQLite)

在 运行 之后,我打算使用 sqldf 函数来 运行 一些查询,但是我遇到了一个错误,我不确定如何解决,我在 Stack Overflow 上找不到任何其他可能有帮助的答案。

以下是我在第一行 运行 后收到的错误:

 Loading required package: RSQLite
 Error: package or namespace load failed for ‘RSQLite’ in loadNamespace(i, c(lib.loc, .libPaths()),     versionCheck = vI[[i]]):
 namespace ‘rlang’ 0.4.0 is already loaded, but >= 0.4.2 is required
 Error: package ‘RSQLite’ could not be loaded

然后我尝试了 运行ning:

install.packages("rlang")

但收到以下错误:

package ‘rlang’ successfully unpacked and MD5 sums checked
Warning in install.packages :
  cannot remove prior installation of package ‘rlang’
Warning in install.packages :
  problem copying C:\Users\My Name\Documents\R\win-library.6[=13=]LOCK\rlang\libs\x64\rlang.dll to     C:\Users\My Name\Documents\R\win-library.6\rlang\libs\x64\rlang.dll: Permission denied
Warning in install.packages :
  restored ‘rlang’

我糊涂了。不确定如何开始解决这个问题。任何帮助或见解将不胜感激!谢谢!

更新已安装的包需要 R 能够 unload 包。通常这很容易完成,但通常会出现问题,特别是对于具有编译库的包(.so.lib.dll,具体取决于 SO)。我不知道能够解开这些共享对象所需的步骤,但它通常是行不通的。这会使更新过程处于不良状态:(1) 未更新但仍可用于当前会话和当前会话;或 (2) 未更新且磁盘存储处于无法使用的部分状态(可能是其他状态)。

即使可以使用共享对象更新包,唯一有保证的方法(尤其是当您遇到问题时)是将 R 重新启动到没有加载该包的状态。如果您要自动加载包(由于 .Rprofile.Rdata),那么您将需要确保在没有这些措施的情况下开始(也许 "new project" and/or 移动.Rprofile暂时让开)。

所以...重新启动 R 并重新尝试 install/update 所有失败的包。