我正在运行新安装的R(3.5.0)和RStudio(1.1.414)。 [请注意,我现在已更新至3.5.1和1.1.453,除了“在R版本3.5.1下构建”警告消息外,仍在遇到以下问题。
我已经使用install.packages("rlang")
安装了rlang软件包,没有遇到任何问题,但是当我尝试加载该软件包时,出现以下错误
Error: package or namespace load failed for ‘rlang’:
.onLoad failed in loadNamespace() for 'rlang', details:
call: dots_list(...)
error: object 'rlang_dots_list' not found
In addition: Warning message:
package ‘rlang’ was built under R version 3.5.1
我已经卸载并重新安装了rlang(关闭每个命令之间的RStudio重启),仍然遇到此错误。
我也遇到了与其他软件包类似的问题(尽管可能完全无关)
RStudio每次启动时都会提供以下警告
[Workspace loaded from ~/.RData]
Error in yaml.load(readLines(con), error.label = error.label, ...) :
object 'C_unserialize_from_yaml' not found
Error in yaml.load(readLines(con), error.label = error.label, ...) :
object 'C_unserialize_from_yaml' not found
库(devtools)出现以下错误
Error: package or namespace load failed for ‘devtools’ in FUN(X[[i]], ...):
no such symbol digest in package //[redacted]/My
Documents/R/win-library/3.5/digest/libs/x64/digest.dll
In addition: Warning message:
package ‘devtools’ was built under R version 3.5.1
Twitter上有人要求提供packageDescription("rlang")
的结果
我将以下输出内容复制出来,以防故障排除。
Package: rlang
Version: 0.2.1
Title: Functions for Base Types and Core R and 'Tidyverse' Features
Description: A toolbox for working with base types, core R features like the condition system, and core
'Tidyverse' features like tidy evaluation.
Authors@R: c( person("Lionel", "Henry", ,"lionel@rstudio.com", c("aut", "cre")), person("Hadley", "Wickham",
,"hadley@rstudio.com", "aut"), person("RStudio", role = "cph") )
License: GPL-3
LazyData: true
ByteCompile: true
Depends: R (>= 3.1.0)
Suggests: crayon, knitr, methods, pillar, rmarkdown (>= 0.2.65), testthat, covr
RoxygenNote: 6.0.1
URL: http://rlang.tidyverse.org, https://github.com/r-lib/rlang
BugReports: https://github.com/r-lib/rlang/issues
NeedsCompilation: yes
Packaged: 2018-05-30 13:14:55 UTC; lionel
Author: Lionel Henry [aut, cre], Hadley Wickham [aut], RStudio [cph]
Maintainer: Lionel Henry <lionel@rstudio.com>
Repository: CRAN
Date/Publication: 2018-05-30 14:23:07 UTC
Built: R 3.5.1; x86_64-w64-mingw32; 2018-07-02 15:08:55 UTC; windows
-- File: [redacted]/My Documents/R/win-library/3.5/rlang/Meta/package.rds
答案 0 :(得分:3)
您有3个不同的警告(digest,yaml和rlang),每个警告都表明程序包DLL文件已损坏。安装软件包时,您做错了什么。
此问题的最常见原因是试图在R中加载程序包时更新程序包(可能在另一个进程中!)。这也可能是由于锁定dll的防病毒程序错误而导致的,阻止了dll的更新。请尝试以下步骤:
taskmgr
中没有Rterm
或Rgui
进程正在运行。yaml
内的rlang
,digest
和Documents\R\win-library\3.5\
文件夹,以及C:\Program Files\R\R-3.5.x\library\
内的文件夹,如果它们也存在的话。library(yaml)
或library(rlang)
会出现错误,例如:没有名为“ yaml” 的软件包。退出R。install.packages(c("yaml", "rlang", "digest"))
答案 1 :(得分:0)
这类问题几乎总是来自Windows上的R中的错误:如果重新安装包含编译代码的软件包,并且该软件包已经加载到R中,则DLL将不会更新。
请尝试在新的会话上重新安装rlang。有时,程序包会在启动时从.RProfile自动加载,您可以在启动后通过调用sessionInfo()
进行检查。
答案 2 :(得分:0)
回答我自己的问题,以防将来其他人遇到类似的问题...
我们现在与工作IT部门一起将其与工作站上的自定义权限相关联,这意味着R软件包只能在预先指定的库中运行(在我的情况下为“ C:\ R \ R-3.4.3 \图书馆”)。
直接将软件包安装到该位置即可解决此问题,但由于人们可能要使用自定义位置的所有原因(例如,运行同一软件包的多个版本,为某些项目保留单独的库),因此不希望这样做。
因此,根据您自己的IT系统,可能有两种或多或少可以实现的解决方案。