Fedora-25系统R Studio中无法安装tm包及源码安装R包求助
解决Fedora 25上R Studio安装tm包失败的问题
兄弟,太懂这种翻遍Stack Overflow还是装不上的憋屈感!Fedora 25上tm包装失败,90%概率是系统级编译依赖没补全——毕竟CRAN包大多需要本地编译,而Fedora的依赖包命名和Ubuntu不一样,很多SO方案是给Debian系的,自然不管用。按下面步骤来:
- 先补全系统必备编译库
打开终端,直接执行这条命令,把tm及其依赖包需要的系统库一次性装上:
sudo dnf install -y gcc-c++ libxml2-devel libcurl-devel openssl-devel zlib-devel
Fedora上依赖包都是-devel结尾,别搞混Ubuntu那套-dev的命名。
- 更新现有R包再装tm
打开R Studio,先把所有已装包更到最新,避免版本冲突:
update.packages(ask = FALSE)
然后强制安装tm的所有依赖(包括推荐和建议包,避免漏装):
install.packages("tm", dependencies = TRUE)
- 仍失败?手动装tm核心前置依赖
个别依赖包(比如NLP、SnowballC)可能单独安装出问题,先手动把这些前置包装上:
install.packages(c("NLP", "SnowballC", "slam", "XML", "RCurl"))
装完再跑一遍install.packages("tm"),基本就能搞定。
Linux下源码安装任意R包的通用指南
源码安装是解决包安装失败的终极方案,不管什么包都能这么操作,步骤很清晰:
获取源码包
- 方式一:去CRAN搜索目标包,下载后缀为
.tar.gz的源码包,存到你方便查找的目录(比如~/R_packages/) - 方式二:直接在R中下载,省得开浏览器:
download.packages("你的包名", destdir = "~/R_packages/", type = "source")
- 方式一:去CRAN搜索目标包,下载后缀为
准备系统编译环境
不管装什么源码包,先把基础编译工具和R开发包装上:
sudo dnf install -y gcc gcc-c++ make automake autoconf R-devel # Fedora/RHEL系 # 若用Ubuntu/Debian,替换为:sudo apt install -y build-essential r-base-dev
R-devel是核心,没有它编译R包时会报错找不到头文件。
三种编译安装方式
- R Studio图形界面:点击顶部菜单栏
Tools→Install Packages,在Install from选项中选择Package Archive File (.tar.gz),选中下载的源码包后点击Install即可。 - R控制台命令:直接指定本地源码路径,告诉R不用从CRAN下载:
注意替换成你自己的包路径。install.packages("~/R_packages/tm_0.7-8.tar.gz", repos = NULL, type = "source") - 终端命令行:不想开R的话,直接在终端用R命令安装:
R CMD INSTALL ~/R_packages/tm_0.7-8.tar.gz
- R Studio图形界面:点击顶部菜单栏
验证安装
装完后在R中执行library(你的包名),没有报错就说明安装成功。
内容的提问来源于stack exchange,提问作者Rajneesh Kaushal
相关产品推荐
相关产品推荐

