Shiny App部署至shinyapps.io启动失败(exit status 1)求助
解决Shiny App部署到shinyapps.io的exit status 1错误
核心问题定位
日志显示的权限错误是因为shinyapps.io的托管环境不允许用户手动执行install.packages()——平台会自动检测并安装你的App依赖包,手动调用安装命令会因无系统库写入权限直接终止程序。
分步解决方案
1. 移除代码中的install.packages()调用
检查你的app.R和fc_auxiliares.R文件,删掉所有类似以下的语句:
install.packages("ggplot2") install.packages(c("dplyr", "shiny"))
2. 确保依赖包被正确声明
所有用到的R包必须通过library()或require()显式加载,比如:
library(shiny) library(ggplot2) library(dplyr)
shinyapps.io的部署工具会自动扫描这些加载语句,在启动前安装对应版本的包。如果存在隐藏依赖(比如某个包依赖的底层包没被显式加载),可以用renv生成依赖锁定文件:
- 运行
renv::init()初始化项目依赖 - 生成
renv.lock文件后,和项目文件一起上传部署,确保依赖版本完全匹配本地环境
3. 处理大数据集(160MB文件)
虽然本地运行正常,但大文件可能影响部署速度或触发平台存储限制:
- 将数据集保存为压缩格式(比如
.RData或.rds),减少文件体积 - 如果数据集不需要随App更新,可考虑将其托管到云存储服务,在App启动时通过API下载(这一步可选,先解决权限问题后再优化)
4. 重新部署
清理代码后,用rsconnect包重新部署:
rsconnect::deployApp(appDir = ".")
确保部署时选中所有必要文件:app.R、fc_auxiliares.R以及data文件夹。
验证部署
重新部署后,查看shinyapps.io的部署日志,如果没有权限相关错误,App即可正常启动。
内容的提问来源于stack exchange,提问作者ybarnatan
相关产品推荐
相关产品推荐

