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

如何将私有GitHub本地包部署至shinyapps.io?

部署Shiny应用至shinyapps.io:私有GitHub包依赖解决方案

问题根源

报错显示shinyapps.io默认从CRAN查找Mycpp包,但该包实际存储在私有GitHub仓库,系统无法识别其正确来源,导致部署失败。

解决步骤

  • 在应用代码中指定包来源:在app.R或server.R开头加入以下代码,强制从私有GitHub仓库安装包:

    if (!requireNamespace("Mycpp", quietly = TRUE)) {
      devtools::install_github("你的GitHub用户名/Mycpp", auth_token = Sys.getenv("GITHUB_PAT"))
    }
    

    随后在shinyapps.io的应用「设置」→「环境变量」中添加GITHUB_PAT,值为拥有私有仓库访问权限的GitHub个人访问令牌(需勾选repo权限)。

  • 修正部署清单的包来源信息:

    1. 本地项目中执行packrat::init()初始化依赖管理
    2. 打开packrat/packrat.lock文件,找到Mycpp相关条目,将Source字段改为GitHub,新增Repository字段填写私有仓库的完整URL(如https://github.com/你的用户名/Mycpp.git)
    3. 执行rsconnect::writeManifest()生成正确的部署清单,再重新部署
  • 验证本地依赖完整性:
    本地先运行devtools::install_github("你的用户名/Mycpp", auth_token = "你的PAT")确保包能正常安装,再用rsconnect::deployApp(dryRun = TRUE)模拟部署,提前排查问题。

  • 确认shinyapps.io与GitHub的关联权限:
    登录shinyapps.io账户,进入「账户设置」→「集成」,确认GitHub已正确关联,且用于关联的PAT拥有私有仓库的访问权限。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 21:35:16