这可能是一个愚蠢的问题,但我无法解决以下问题:
我正在开发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
非常感谢!
亲切的问候
答案 0 :(得分:1)
显然,我的问题与管理软件包版本无关。 感谢Joshua Spiewak,可以在此link上找到解决方案。
要点是,尽管quadprog
软件包已成功安装,但编译不正确。从R 3.4.0的缓存中清除软件包可以解决该问题。
谢谢大家的帮助!
答案 1 :(得分:0)
尝试使用packrat管理您的软件包版本。这就是我使用不同版本的程序包运行闪亮的应用程序的方式,并使它们可部署为以维护正确程序包的方式连接服务器。