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

更新Shiny应用manifest.json时writeManifest()报错原因排查

错误触发原因

报错直接由系统/tmp临时分区剩余空间耗尽导致,和rsconnect包本身、manifest生成逻辑无关联。

  • rsconnect::writeManifest()执行逻辑中,会先把当前Shiny应用目录下的所有文件(含子目录内的.rds数据、静态资源等)复制到R生成的临时工作目录(即报错路径里/tmp/RtmpXXXX/格式的临时文件夹),完成全量依赖扫描后才会输出最终的manifest.json。
  • 此前能正常运行,是因为当时/tmp分区剩余空间足够容纳应用全量文件;当前分区空间写满后,复制大体积.rds文件时就会触发No space left on device写入错误,后续连锁触发无法打开连接、文件追加失败的上层报错。

空间耗尽的常见诱因

  • R临时文件残留:异常中断的部署任务、崩溃退出的R会话,会在/tmp下遗留完整的Rtmp临时目录,长期堆积占满空间
  • 近期应用目录新增大体积文件:报错中提到的dom.rds、rt.rds、list_rt.rds等数据文件,总体积超出/tmp分区当前剩余容量
  • 系统其他进程生成的临时文件占满/tmp分区,和R操作无关

解决方式

  • 退出所有运行中的R会话,手动删除/tmp路径下老旧的Rtmp*格式目录释放空间
  • 若应用目录下存在不需要打包部署的大文件(如测试原始数据、临时备份),在应用根目录新建.rscignore文件,写入要排除的目录/文件名,避免命令执行时复制无关文件占用临时空间
  • 若/tmp分区本身容量过小,启动R前配置TMPDIR环境变量,指向剩余空间充足的自定义路径,让R将临时文件写入该路径规避空间限制

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 10:54:21