0

这可能是一个愚蠢的问题,但我无法解决以下问题:

我正在开发一个闪亮的应用程序,需要旧版本的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.solibRblas.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 

提前谢谢了!!

亲切的问候

4

2 回答 2

1

显然,我的问题与管理包版本无关。感谢 Joshua Spiewak,可以在此链接上找到解决方案。

要点是该软件包quadprog未正确编译,尽管已成功安装。从 R 3.4.0 的缓存中刷新包解决了这个问题。

谢谢大家帮忙!

于 2018-08-29T08:27:49.290 回答
0

尝试使用 packrat 来管理你的包版本。这就是我使用不同版本的包运行闪亮应用程序的方式,它使它们可以部署以以维护正确包的方式连接服务器。

于 2018-08-16T18:34:14.027 回答