MX Linux 19.4系统加载tidyverse包报错及安装有效性确认问题
报错与警告含义
你遇到的报错和警告全部和MX Linux的初始化系统特性以及时区配置小问题相关,不影响tidyverse核心功能的正常使用:
- 开头的
System has not been booted with systemd as init system报错,是因为MX Linux默认使用SysVinit作为初始化系统而非systemd,tidyverse依赖的时间处理组件加载时会尝试调用systemd专属的timedatectl命令获取系统时区,命令运行失败就会抛出该报错,同时触发第一条警告running command 'timedatectl' had status 1 - 第二条警告
incomplete final line found on '/etc/timezone'是因为你的系统时区配置文件/etc/timezone末尾缺少换行符,R读取该文件时触发的通用文本读取警告,无实质影响
确认tidyverse正确安装的方法
你可以通过以下三个步骤依次验证安装和加载状态:
- 验证安装版本:在R控制台执行
packageVersion("tidyverse"),如果返回1.3.1即说明你需要的版本已正确安装到本地库 - 验证加载状态:执行
tidyverse_conflicts(),如果正常输出已加载的tidyverse子包(ggplot2、dplyr、tidyr等)版本信息和函数冲突提示,即说明所有核心组件已成功加载 - 验证核心功能:执行以下测试代码,确认没有功能报错:
# 测试dplyr数据处理功能 library(dplyr) mtcars %>% group_by(cyl) %>% summarise(avg_mpg = mean(mpg)) # 测试ggplot2绘图功能 library(ggplot2) ggplot(mtcars, aes(x = wt, y = mpg)) + geom_point()
如果上述代码均能正常返回结果,说明tidyverse完全可以正常使用,之前的报错和警告可以忽略。如果需要消除警告,可以手动在R脚本开头加上Sys.setenv(TZ = "你所在的时区,如Asia/Shanghai"),或者给/etc/timezone文件末尾补加一个换行符即可。
内容的提问来源于stack exchange,提问作者John U
相关产品推荐
相关产品推荐

