我不知道发生了什么事,一切都很好但突然间我开始在文档上出现此错误消息:
fetch(key)出错:lazy-load database' ...... descopl.rdb'是 腐败
我删除了几乎所有代码并再次构建然后发布到Github,但是当我使用另一台笔记本电脑下载软件包时,正在下载和加载软件包但我无法调用任何函数,并且文档说明错误。
我不知道导致问题的原因,我正在使用roxygen来生成文档。
答案 0 :(得分:78)
当R不能解压缩包时(如@rawr建立,它已损坏),似乎出现错误。这个解决方案对我有用:
1)检查创建.Rdb
文件
2)尝试restarting your R session(例如.rs.restartR()
如果在RStudio中)
3)软件包可能已安装在您的计算机中(即使它不起作用)。使用?remove.packages()
答案 1 :(得分:6)
我也遇到了roxygen2
这个问题。无法看到我的任何功能有任何问题。最后删除.rdb
文件然后让roxygen2重建它似乎解决了这个问题。
答案 2 :(得分:4)
答案 3 :(得分:1)
在另一个R会话正在运行的同时重新安装库之后,我收到此错误。
只需重新启动为我解决的现有R会话(即运行.rs.restartR()
即可重新启动会话)
答案 4 :(得分:0)
如果您使用的是R-studio: 1)Ctrl + Shift + F10重新启动R会话 2)工具->检查软件包更新->更新所有软件包 3)库(ggmap)
问题已解决。
答案 5 :(得分:0)
我在Mac OS上的RStudio上遇到此错误-更新所有软件包并重新启动r会话可以解决问题。
答案 6 :(得分:0)
基本上所有答案都需要重新启动R才能解决此问题,但是我发现自己确实处在我不想重新启动R的环境中。
我在这里发布了吉姆·海斯特(Jim Hester)在bug report中提出的有关延迟加载损坏问题的一种有点破解的解决方案。
要点是,该软件包可能在会话的.__S3MethodsTable__.
环境中列出了一些残余的S3方法。我没有一种非常系统的方法来确定该环境中哪些S3方法来自何处,但是我认为一个不错的起点是print
方法,并在软件包的目录中寻找S3method
注册NAMESPACE
。
然后您可以从.__S3MethodsTable__.
环境中删除这些S3方法,然后重试,例如
rm(list="print.object", envir = get(".__S3MethodsTable__.", envir = baseenv()))
如果出现一些新消息,您可能还需要卸载一些DLL
在/usr/local/lib/R/site-library/glue/libs/glue.so包中没有这样的胶粘符号
您可以检查getLoadedDLLs()
来查看会话中加载了哪些此类文件。对于此处的glue
,以下解决了该问题:
library.dynam.unload('glue', '/usr/local/lib/R/site-library/glue')