You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

部署Shiny App至Heroku遇textshaping依赖缺失问题求助

解决Heroku部署Shiny App时textshaping依赖缺失问题

问题根源

你遇到的核心问题是textshaping R包依赖系统级底层库,Heroku默认的R运行环境没有预装这些库,导致textshaping编译安装失败,进而牵连依赖它的ragg、tidyverse等包被移除。单纯在init.R里添加包名没用,因为系统依赖没解决,R包根本装不上。

解决方案

1. 先安装系统级依赖

Heroku允许通过多buildpack先安装系统库,再部署R应用:

  • 给你的Heroku应用添加apt buildpack(用于安装Debian/Ubuntu系统库):
heroku buildpacks:add --index 1 heroku-community/apt
  • 在项目根目录创建名为Aptfile的文件,写入textshaping需要的系统库:
libfreetype6-dev
libharfbuzz-dev
libfribidi-dev
libpng-dev
libtiff5-dev
libjpeg-dev

2. 优化R包依赖管理(可选但推荐)

用renv替代init.R的手动安装逻辑,Heroku的R buildpack对renv支持更稳定:

  • 本地打开你的Shiny项目,执行:
install.packages("renv")
renv::init()
  • 安装所有需要的包(包括textshaping、ragg、tidyverse等),然后执行:
renv::snapshot()
  • 将生成的renv文件夹、renv.lock、.Rprofile文件提交到Git,可移除项目中的init.R(或保留但确保不与renv自动安装冲突)。

3. 重新部署

提交所有修改到Git,然后重新部署到Heroku:

git add .
git commit -m "Fix system dependencies for textshaping"
git push heroku main

验证

查看Heroku的构建日志,确认textshaping、ragg、tidyverse都成功安装,无报错信息。

内容的提问来源于stack exchange,提问作者JGM

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 03:35:35