首页 > 解决方案 > 使用带有 ShinyApps.io 的私有 GitHub 包

问题描述

我无法让我的 ShinyApps.io 帐户安装私有 GitHub 依赖项:

首先,在 ShinyApps.io 上,我已授权访问私有存储库:

私人访问

其次,在我正在部署的包中,我已将私有依赖项添加为文件Remotes中的包DESCRIPTION

Remotes:
    myOrg/myDependency

第三,ShinyApps.io 是 GitHub 上存储库设置下的授权应用程序。

但是,当我尝试手动部署时,ShinyApps 无法找到myDependency. 我收到一条错误消息:

Warning: Unable to determine the repository for package myDependency

我还需要检查什么以确保 ShinyApps.io 可以访问并使用我的依赖项

标签: rgithubshinyapps

解决方案


专注于让这个工作,而不一定是这里最优雅或正确的解决方案。

  1. 在https://github.com/settings/applications撤销对 shinyapps 的访问权限,并重新建立与 shinyapps 的连接(如果您的依赖项存储库归组织所有,而不是您个人所有,请确保包括组织授权)。

  1. 将 github 的依赖项安装作为source脚本作为应用程序启动的一部分?

就像是:

app.r

library(dplyr)
library(shiny)

source(private_dependency.R)

*app code here*

private_dependency.R

library(devtools)
install_github("hadley/private", auth_token = "abc")

其中 auth_token 是您在以下位置生成的值:https ://github.com/settings/tokens

文档中关于 auth_token 存储的评论:

要从私人仓库安装,请使用 auth_token 和来自https://github.com/settings/tokens的令牌。您只需要 repo 范围。最佳实践是将您的 PAT 保存在名为 GITHUB_PAT 的环境变量中。

参考


  1. 支持票?在我看来,这里关于 github 进程的任何内容都不够冗长,足以知道到底发生了什么。

推荐阅读