将应用程序部署到Shinyapps.io,这取决于具有依赖关系的自定义程序包

时间:2019-02-05 14:31:01

标签: r deployment shinyapps rsconnect

我想将一个闪亮的应用程序部署到shinyapps.io 但几个月来我一直都没能全部出版:-(

有人可以向我逐步说明以下概述的特定设置我需要做什么吗?

设置

  • 该应用程序依赖于生活在私有GitHub存储库中的自定义软件包
  • 我没有RStudio Connect可以访问的完整R包存储库,以安装自定义包,但想从GitHub安装它
  • 一个.Rprofile文件位于我要发布的项目的根目录中,并且包含该文件
local({
  r <- getOption("repos")
  r["CRAN"] <- "https://cran.rstudio.com/"
  r["mycompany"] <- "https://github.com/rappster/mypkg/"
  options(repos = r)
})
  • 自定义软件包的tar.gz构建版本位于/opt/r-packages/<pkg-name>/<git-commit-hashkey>.tar.gz
  • 一个gcfg文件位于/etc/rstudio-connect/rstudio-connect.gcfg中,并且仅包含SourcePackageDir = "opt/r-packages"
  • 自定义程序包本身具有许多依赖关系,这些依赖关系在CRAN上都可用
  • 闪亮应用程序的代码存在于项目根目录下的多个文件中,该文件当前与自定义程序包项目相对应(因为我认为这将是最容易进行发布的工作),但我也可以将其放入自己的RStudio / R项目是否有帮助

尽职调查

我读过

但无法正常工作。

我遇到的RStudio Connect部署错误

<...>
[2019-02-05T11:50:16.877574592+0000] Building R package: mypkg (0.0.2.9002)
/mnt/packages/build /mnt
Warning in untar2(tarfile, files, list, exdir, restore_times) :
  skipping pax global extended headers
* installing to library ‘/opt/R/3.5.1/lib/R/library’
* installing *source* package ‘mypkg’ ...
** R
** inst
** byte-compile and prepare package for lazy loading
Error in loadNamespace(i, c(lib.loc, .libPaths()), versionCheck = vI[[i]]) : 
  there is no package called ‘philentropy’
ERROR: lazy loading failed for package ‘climater’
* removing ‘/opt/R/3.5.1/lib/R/library/mypkg’GET /v1/tasks/?filter=account_id:113102&filter=parent_id:584709513&count=100&offset=0 590ms
################################# End Task Log ################################# 
----- Deployment error -----
Error: Unhandled Exception: Child Task 584709513 failed: Error building image: Error building mypkg (0.0.2.9002). Build exited with non-zero status: 1

----- Error stack trace -----
3: stop(status$error, call. = FALSE)
2: client$waitForTask(taskId, quiet)
1: rsconnect::deployApp(appDir = "C:/Users/janko/Dropbox (Personal)/Code/R/Packages/_Dev/mypkg", 
       appFileManifest = "C:/Users/janko/AppData/Local/Temp/6d2a-63b4-2877-4884", 
       account = "janko-thyson", server = "shinyapps.io", appName = "mypkg", 
       appId = 585041, launch.browser = function(url) {
           message("Deployment completed: ", url)
       }, lint = FALSE, metadata = list(asMultiple = FALSE, asStatic = FALSE, 
           ignoredFiles = <...>), 
       logLevel = "verbose")
Error: Unhandled Exception: Child Task 584709513 failed: Error building image: Error building mypkg (0.0.2.9002). Build exited with non-zero status: 1
Execution halted

这是否意味着我需要构建我程序包的所有依赖项,并将其置于opt/<pkg-dependency-name>/<git-commit-hashkey>.tar.gz下?

很抱歉,如果它是重复项或看起来有点无组织/冗长,但我的头完全在旋转,试图使其正常工作,我不知道从哪里开始进行故障排除...

0 个答案:

没有答案