部署R-Shiny应用遇‘fribidi未找到’错误求助
解决Shiny部署时"fribidi was not found"的问题
你的核心问题是本地安装的系统依赖只在Mac本地生效,部署服务器端缺失harfbuzz、fribidi系统库,导致textshaping包无法在服务器编译安装,进而部署失败。以下是对应解决方案:
若使用自建Linux服务器(如Shiny Server):
- Debian/Ubuntu系统:在服务器上执行命令
sudo apt-get install libharfbuzz-dev libfribidi-dev - RHEL/CentOS系统:执行命令
sudo yum install harfbuzz-devel fribidi-devel
安装完成后重新触发应用部署,让服务器重新安装textshaping包。
- Debian/Ubuntu系统:在服务器上执行命令
若使用托管平台(如Shinyapps.io、Posit Connect):
- Shinyapps.io:在应用根目录创建
.apt文件,写入以下内容(每行一个依赖):
然后重新部署应用,平台会自动安装这些系统依赖。libharfbuzz-dev libfribidi-dev - Posit Connect:若你有服务器管理员权限,直接在服务器上安装上述系统库;若为普通用户,通过平台提供的自定义依赖配置方式添加这两个库即可。
- Shinyapps.io:在应用根目录创建
替代方案:如果无法修改服务器配置,可尝试规避textshaping的依赖。比如检查是否是ggplot2等包触发了该依赖,可降级到不强制依赖textshaping的版本(如ggplot2 3.3.x系列),或者替换为其他无需该依赖的绘图工具。
内容的提问来源于stack exchange,提问作者FakeSake
相关产品推荐
相关产品推荐

