在R 3.4.3(Windows 10)中加载arulesViz包失败的问题咨询
解决arulesViz加载报错:object ‘cividis’ is not exported by 'namespace:viridisLite'
为啥会出现这个报错?
说白了就是新包依赖了旧版库没有的功能:
arulesViz要用到viridisLite里的cividis配色函数,但你装的viridisLite版本太老——cividis是在viridisLite0.3.0版本才新增并导出的,而你的R 3.4.3是2017年的老版本,默认安装的viridisLite肯定是不支持这个函数的旧版。- 你之前卸载重装没解决,是因为R会根据你的老R版本自动安装兼容的旧版
viridisLite,等于绕了一圈又回到原点。
怎么修复?给你两个方案,按需选择:
方案1:更新R版本(最推荐,一劳永逸)
R 3.4.3真的太老旧了,现在很多新包都放弃支持这个版本,更新到最新稳定版能避免以后一堆类似的依赖坑:
- 下载适配Windows 10的最新R稳定版并安装;
- 打开新的R/RStudio会话,重新安装所需包:
这次安装的都是适配新R的新版包,肯定能正常加载。install.packages(c("viridisLite", "arulesViz")) library(arulesViz)
方案2:给老R装适配的特定版本viridisLite
如果暂时不想更新R,那咱们就安装一个刚好支持R 3.4.3且带cividis函数的viridisLite版本(比如0.3.0):
- 先卸载当前的旧版
viridisLite:remove.packages("viridisLite") - 从CRAN归档安装指定版本的包:
要是安装时提示缺少编译工具,你得先安装适配R 3.4.3的Rtools(比如Rtools34),不然编译无法完成。install.packages("https://cran.r-project.org/src/contrib/Archive/viridisLite/viridisLite_0.3.0.tar.gz", type = "source") - 安装完成后,再加载
arulesViz:library(arulesViz)
额外小提醒
- 操作前最好重启R会话,避免旧包进程在后台干扰;
- 如果装包时弹出权限不足的提示,右键以管理员身份打开R/RStudio再尝试。
内容的提问来源于stack exchange,提问作者Prakhar Jain
相关产品推荐
相关产品推荐

