安装R包devtools时依赖缺失导致非零退出状态错误求助
解决R语言devtools安装失败(依赖textshaping系统库缺失)的方案
1. 先安装系统级依赖库
textshaping需要的harfbuzz、freetype2、fribidi是系统层面的库,需通过对应系统的包管理器安装:
- Ubuntu/Debian 系统:
sudo apt-get update && sudo apt-get install libharfbuzz-dev libfreetype6-dev libfribidi-dev - CentOS/RHEL 系统:
sudo yum install harfbuzz-devel freetype-devel fribidi-devel - macOS(需先安装Homebrew):
brew install harfbuzz freetype fribidi - Windows 系统:
安装对应R版本的Rtools,安装时勾选「Add Rtools to system PATH」选项,重启R后再继续操作。
2. 直接安装textshaping包
无需单独安装fribidi R包(系统库已满足依赖),在R中执行:
install.packages("textshaping", dependencies = TRUE)
若仍报错,可手动指定系统库路径编译(路径根据自身系统调整):
install.packages("textshaping", configure.args = c( "--with-harfbuzz-include=/usr/include/harfbuzz", "--with-freetype-include=/usr/include/freetype2", "--with-fribidi-include=/usr/include/fribidi" ))
3. 重新安装devtools
textshaping安装成功后,执行以下命令安装devtools:
install.packages("devtools", dependencies = TRUE)
若仍有问题,可尝试从GitHub源码安装(需先确保系统已安装git):
install.packages("remotes") remotes::install_github("r-lib/devtools")
额外说明
Python版devtools与R语言的devtools是完全独立的工具,无法解决R包的安装问题,无需关注。
内容的提问来源于stack exchange,提问作者user21573410
相关产品推荐
相关产品推荐

