我不知道发生了什么事,一切都运行良好,但突然我开始在文档中出现此错误消息:
fetch(key) 中的错误:延迟加载数据库 '......descopl.rdb' 是 腐败
我删除了几乎所有代码并再次构建,然后发布到 Github,但是当我使用另一台笔记本电脑下载包时,包正在下载并加载,但我无法调用任何函数,并且文档指出错误。
我不知道是什么导致了问题,我正在使用 roxygen 生成文档。
似乎是当 R 无法解压包时就会出现错误(正如 @rawr 所建立的那样,它已损坏)。这个解决方案对我有用:
1) 检查创建
.Rdb
文件时是否可能出现错误
2) 尝试重新启动 R 会话(例如,
.rs.restartR()
,如果在 RStudio 中)
3) 该软件包可能已安装在您的计算机中(即使它不起作用)。使用
?remove.packages()
将其删除
我也遇到过这个问题。我的任何功能都没有发现任何问题。最后删除
roxygen2
文件然后让 roxygen2 重建它似乎解决了问题。只需重新启动现有的 R 会话即可为我解决(即运行
cd ~/Rlibs/descopl/help
rm *.rdb
来重新启动会话)
我在这里发布了 Jim Hester 在关于延迟加载损坏问题的
bug 报告.rs.restartR()
环境中列出了一些残留的 S3 方法。我没有一个非常系统的方法来识别该环境中的哪些 S3 方法来自何处,但我认为一个好的起点是
.__S3MethodsTable__.
方法,并在包的 print
中查找 S3method
注册。 然后您可以从 NAMESPACE
环境中删除这些 S3 方法并重试,例如
.__S3MethodsTable__.
如果出现一些新消息,例如,您可能还需要卸载一些 DLL
包/usr/local/lib/R/site-library/glue/libs/glue.so中没有这样的符号glue_
您可以检查
rm(list="print.object", envir = get(".__S3MethodsTable__.", envir = baseenv()))
以查看会话中加载了哪些此类文件。对于此处
getLoadedDLLs()
的情况,以下解决了该问题:glue
问题解决了。
库(rmarkdown) 错误:get(Info[i, 1], envir = env) 中的“rmarkdown”包或命名空间加载失败:延迟加载数据库“C:/Users/aiims/AppData/Local/R/win-library/4.4/” xfun/R/xfun.rdb' 已损坏 另外:警告消息:在 get(Info[i, 1], envir = env) 中:使用 libdeflate 的 R_decompress1 中出现内部错误 1