R升级后Leaflet绘图抛出HTML依赖文件不存在错误
故障根因
该报错是leaflet 2.1.1与依赖包leaflet.providers 1.9.0的静态资源路径匹配异常导致:渲染地图时htmlwidgets会将依赖的js文件复制到临时渲染目录,但包安装过程中leaflet-providers_1.9.0.js没有被正确部署到包的资源目录,直接覆盖重装、甚至重装R/RStudio都不会清理旧的包缓存和临时文件,因此无法解决问题。
修复步骤
- 完全卸载关联包,不要直接覆盖安装,在R控制台执行以下命令:
remove.packages(c("leaflet", "leaflet.providers", "htmlwidgets"))
- 彻底关闭所有R、RStudio进程,重启软件后重新安装上述包:
install.packages(c("leaflet", "leaflet.providers", "htmlwidgets"), dependencies = TRUE)
- 安装完成后再次重启R会话,运行原有绘图代码即可。
- 如果仍报相同错误,执行
tempdir()获取当前R临时目录路径,完全退出R后手动删除该目录下所有缓存文件,再重新启动R运行代码即可。
避坑提示:不要混装不同来源的leaflet系列包,比如CRAN版leaflet搭配github版leaflet.providers,大概率会出现静态资源版本号不匹配的问题。
内容的提问来源于stack exchange,提问作者Gautam
相关产品推荐
相关产品推荐

