使用pkgdown渲染htmlwidget示例均失败,报yaml.load参数缺失错误
解决pkgdown处理htmlwidget时的yaml.load参数错误
我之前也碰到过类似的问题,这个错误本质是yaml包版本与pkgdown的兼容性问题——yaml 2.0及以上版本对yaml.load()的参数要求做了变更,而旧版pkgdown在调用这个函数时没有传入error.label参数,导致报错。
先看你遇到的具体错误和代码:
复现的代码
USArrests %>% dplyr::mutate( State = row.names(.), Rape = -Rape ) %>% e_charts(State) %>% e_bar(Murder) %>% e_bar(Rape, name = "Sick basterd", x.index = 1) # second y axis
报错信息
Error in yaml.load(readLines(con), error.label = error.label, ...): argument "error.label" is missing, with no default
给你几个可行的解决步骤:
升级pkgdown到最新版本
新版pkgdown已经修复了yaml包版本兼容的问题,直接运行:install.packages("pkgdown") # 如果CRAN版还没更新,试试开发版 # devtools::install_github("r-lib/pkgdown")升级后重新构建pkgdown文档,应该能解决这个参数缺失的问题。
锁定yaml包到兼容版本
如果升级pkgdown后还是不行,可以把yaml包回退到1.2.5版本(这个版本和旧版pkgdown兼容很好):install.packages("yaml", version = "1.2.5", repos = "http://cran.us.r-project.org")注意安装时要指定版本和CRAN源,避免自动装最新版。
检查pkgdown配置文件的yaml语法
有时候错误提示会误导你,实际可能是_pkgdown.yml配置文件存在语法错误(比如冒号后没加空格、缩进不一致)。可以本地检查配置文件的格式规范,确认无误后再重新构建。
按照上面的步骤试一下,应该能解决这个问题。
内容的提问来源于stack exchange,提问作者JohnCoene
相关产品推荐
相关产品推荐

