[英]Deploy app to shinyapps.io that depends on custom package which itself has dependencies
我想將 shiny 應用程序部署到shinyapps.io但我幾個月來一直未能全部發布:-(
有人可以逐步向我解釋下面概述的特定設置我需要做什么嗎?
.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"
我讀了
但無法讓事情正常進行。
<...>
[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
?
抱歉,萬一這是重復的,或者似乎有點非結構化/冗長,但我的腦袋完全在旋轉,試圖讓它工作,我不知道從哪里開始進行故障排除......
renv
.Rprofile
(在您的項目目錄中)以顯示:source("renv/activate.R")
local({
r <- getOption("repos")
r["CRAN"] <- "https://cran.rstudio.com/"
r["mycompany"] <- "https://github.com/<your_user>/<your_repo>/"
options(repos = r)
})
devtools::install_github("<my_user>/<my_repo>",
auth_token = "<paste_your_token_here>",
upgrade = "never") #this is optional,
# but since you are using renv, you may want to conserve
# your environment
這將在 renv 中安裝您的renv
重要提示:不要在要上傳到 shiny.io 或類似的源代碼中包含上一行閱讀有關它
完成此操作后, rsconnect應該能夠從您的源代碼中讀取您的包並從您的renv上傳它們。 實際上,第一次 shiny.io 構建我的 package 時,出現超時並沒有上傳應用程序。 但是,它在它的環境中安裝了我的自定義 package,我第二次嘗試上傳應用程序時,它工作了。
注意:就我而言,我的 package 位於公共 github 存儲庫中。 尚未嘗試使用私有存儲庫,但我知道shiny.io中有一個選項可將服務器連接到私有存儲庫。 我認為您還需要配置您的個人訪問令牌,以便可以使用它來讀取私有存儲庫。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.