使用特定包的旧版本部署 Shiny 应用程序
Deploy Shiny application with older version of particular package
这可能是一个愚蠢的问题,但我无法解决以下问题:
我正在开发一个 Shiny-app,需要旧版本的 lavaan 才能获得与几周前相同的结果。我使用以下代码在本地安装旧版本:install_version("lavaan",version = "0.5-23.1097")
,并使用 library(lavaan)
将这个旧版本加载到我的 server.R 文件中。我还在 server.R 文件中的列表中添加了所有可能的依赖项,以便在本地一切正常。
但是,当我尝试部署我的应用程序时,我在任务日志的末尾获得以下内容:
[2018-08-16T17:00:24.569989191+0000] Installing R package: quadprog (1.5-5)
* installing to library �/opt/R/3.4.0/lib/R/library�
* installing *binary* package �quadprog� ...
* DONE (quadprog)
[2018-08-16T17:00:24.749745586+0000] Building R package: lavaan (0.5-23.1097)
/mnt/packages/build /mnt
* installing to library �/opt/R/3.4.0/lib/R/library�
* installing *source* package �lavaan� ...
** package �lavaan� successfully unpacked and MD5 sums checked
** R
** data
*** moving datasets to lazyload DB
** inst
** preparing package for lazy loading
Error in dyn.load(file, DLLpath = DLLpath, ...):
unable to load shared object '/opt/R/3.4.0/lib/R/library/quadprog/libs/quadprog.so':
libRblas.so: cannot open shared object file: No such file or directory
ERROR: lazy loading failed for package �lavaan�
* removing �/opt/R/3.4.0/lib/R/library/lavaan�
显然,它能够找到旧的 lavaan 版本并将其解压缩,但是一旦执行此 lazy loading
操作,它就会崩溃。
有人知道我在哪里可以删除这个 lazy loading
或者在哪里可以找到这个 quadprog.so
或 libRblas.so
文件吗?我假设正在发生更重要的事情,但我无法弄清楚。在下面,您可以找到我的 sessionInfo()
输出。
R version 3.4.0 (2017-04-21)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 7 x64 (build 7601) Service Pack 1
Matrix products: default
locale:
[1] LC_COLLATE=Dutch_Belgium.1252 LC_CTYPE=Dutch_Belgium.1252 LC_MONETARY=Dutch_Belgium.1252 LC_NUMERIC=C
[5] LC_TIME=Dutch_Belgium.1252
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] lavaan_0.5-23.1097 quadprog_1.5-5 MASS_7.3-47 numDeriv_2016.8-1 htmlwidgets_1.0 jsonlite_1.5 htmltools_0.3.6
[8] yaml_2.2.0 tibble_1.4.2 DT_0.2 ggplot2_2.2.1 rmarkdown_1.8 stringi_1.1.7 foreign_0.8-67
[15] magrittr_1.5 rsconnect_0.8.5 shinyjs_0.9.1 shinythemes_1.1.1 shiny_1.1.0 devtools_1.13.6
loaded via a namespace (and not attached):
[1] Rcpp_0.12.18 git2r_0.18.0 pillar_1.3.0 compiler_3.4.0 later_0.7.3 plyr_1.8.4 bitops_1.0-6 tools_3.4.0
[9] digest_0.6.12 memoise_1.1.0 evaluate_0.10.1 gtable_0.2.0 rlang_0.2.1 rstudioapi_0.6 curl_3.1 pbivnorm_0.6.0
[17] httr_1.2.1 withr_1.0.2 stringr_1.2.0 knitr_1.17 stats4_3.4.0 rprojroot_1.2 grid_3.4.0 R6_2.2.2
[25] RJSONIO_1.3-0 backports_1.1.0 scales_0.4.1 promises_1.0.1 mnormt_1.5-5 mime_0.5 xtable_1.8-2 colorspace_1.3-2
[33] httpuv_1.4.5 miniUI_0.1.1 RCurl_1.95-4.8 lazyeval_0.2.0 munsell_0.4.3 crayon_1.3.4
非常感谢!!
亲切的问候
尝试使用 packrat 来管理您的包版本。这就是我 运行 使用不同版本的包闪亮应用程序的方式,它使它们可以以维护正确包的方式部署以连接服务器。
显然,我的问题与管理软件包版本无关。
解决方案可以在此 link 上找到,感谢 Joshua Spiewak。
要点是软件包 quadprog
虽然已成功安装,但未正确编译。从 R 3.4.0 的缓存中刷新包解决了这个问题。
谢谢大家的帮助!
这可能是一个愚蠢的问题,但我无法解决以下问题:
我正在开发一个 Shiny-app,需要旧版本的 lavaan 才能获得与几周前相同的结果。我使用以下代码在本地安装旧版本:install_version("lavaan",version = "0.5-23.1097")
,并使用 library(lavaan)
将这个旧版本加载到我的 server.R 文件中。我还在 server.R 文件中的列表中添加了所有可能的依赖项,以便在本地一切正常。
但是,当我尝试部署我的应用程序时,我在任务日志的末尾获得以下内容:
[2018-08-16T17:00:24.569989191+0000] Installing R package: quadprog (1.5-5)
* installing to library �/opt/R/3.4.0/lib/R/library�
* installing *binary* package �quadprog� ...
* DONE (quadprog)
[2018-08-16T17:00:24.749745586+0000] Building R package: lavaan (0.5-23.1097)
/mnt/packages/build /mnt
* installing to library �/opt/R/3.4.0/lib/R/library�
* installing *source* package �lavaan� ...
** package �lavaan� successfully unpacked and MD5 sums checked
** R
** data
*** moving datasets to lazyload DB
** inst
** preparing package for lazy loading
Error in dyn.load(file, DLLpath = DLLpath, ...):
unable to load shared object '/opt/R/3.4.0/lib/R/library/quadprog/libs/quadprog.so':
libRblas.so: cannot open shared object file: No such file or directory
ERROR: lazy loading failed for package �lavaan�
* removing �/opt/R/3.4.0/lib/R/library/lavaan�
显然,它能够找到旧的 lavaan 版本并将其解压缩,但是一旦执行此 lazy loading
操作,它就会崩溃。
有人知道我在哪里可以删除这个 lazy loading
或者在哪里可以找到这个 quadprog.so
或 libRblas.so
文件吗?我假设正在发生更重要的事情,但我无法弄清楚。在下面,您可以找到我的 sessionInfo()
输出。
R version 3.4.0 (2017-04-21)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 7 x64 (build 7601) Service Pack 1
Matrix products: default
locale:
[1] LC_COLLATE=Dutch_Belgium.1252 LC_CTYPE=Dutch_Belgium.1252 LC_MONETARY=Dutch_Belgium.1252 LC_NUMERIC=C
[5] LC_TIME=Dutch_Belgium.1252
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] lavaan_0.5-23.1097 quadprog_1.5-5 MASS_7.3-47 numDeriv_2016.8-1 htmlwidgets_1.0 jsonlite_1.5 htmltools_0.3.6
[8] yaml_2.2.0 tibble_1.4.2 DT_0.2 ggplot2_2.2.1 rmarkdown_1.8 stringi_1.1.7 foreign_0.8-67
[15] magrittr_1.5 rsconnect_0.8.5 shinyjs_0.9.1 shinythemes_1.1.1 shiny_1.1.0 devtools_1.13.6
loaded via a namespace (and not attached):
[1] Rcpp_0.12.18 git2r_0.18.0 pillar_1.3.0 compiler_3.4.0 later_0.7.3 plyr_1.8.4 bitops_1.0-6 tools_3.4.0
[9] digest_0.6.12 memoise_1.1.0 evaluate_0.10.1 gtable_0.2.0 rlang_0.2.1 rstudioapi_0.6 curl_3.1 pbivnorm_0.6.0
[17] httr_1.2.1 withr_1.0.2 stringr_1.2.0 knitr_1.17 stats4_3.4.0 rprojroot_1.2 grid_3.4.0 R6_2.2.2
[25] RJSONIO_1.3-0 backports_1.1.0 scales_0.4.1 promises_1.0.1 mnormt_1.5-5 mime_0.5 xtable_1.8-2 colorspace_1.3-2
[33] httpuv_1.4.5 miniUI_0.1.1 RCurl_1.95-4.8 lazyeval_0.2.0 munsell_0.4.3 crayon_1.3.4
非常感谢!!
亲切的问候
尝试使用 packrat 来管理您的包版本。这就是我 运行 使用不同版本的包闪亮应用程序的方式,它使它们可以以维护正确包的方式部署以连接服务器。
显然,我的问题与管理软件包版本无关。 解决方案可以在此 link 上找到,感谢 Joshua Spiewak。
要点是软件包 quadprog
虽然已成功安装,但未正确编译。从 R 3.4.0 的缓存中刷新包解决了这个问题。
谢谢大家的帮助!