闪亮的服务器会预加载软件包?

时间:2019-07-08 14:49:06

标签: r shiny shiny-server

我正在运行Shiny Server Pro v1.5.10.990。我想运行一个依赖于Rcpp软件包1.0.1版的应用程序。我将此程序包安装到本地应用程序库中。问题在于服务器上存在一个全局软件包库,该全局软件包库保存版本1.0.0中的Rcpp软件包。该应用程序崩溃并出现以下错误:

Package ‘Rcpp’ version 1.0.0 cannot be unloaded:
 Error in unloadNamespace(package) : namespace ‘Rcpp’ is imported by ‘httpuv’, ‘htmltools’, ‘later’, ‘promises’ so cannot be unloaded
Calls: runApp ... tryCatch -> tryCatchList -> tryCatchOne -> <Anonymous>
Execution halted

但是,Rcpp是我在代码中加载的第一个软件包。 Shiny服务器是否可能会预加载软件包“ httpuv”,“ htmltools”,“以后”,“承诺”? 有什么想法可以卸载Rcpp软件包并从本地库中加载它吗?

1 个答案:

答案 0 :(得分:0)

如user2554330在评论中所建议,我寻找了R_LIBS选项,发现this article指向我配置了Shiny Server(仅在Pro版本中有效)以使用本地包运行此特定应用,全局包库。这解决了我的问题。

  location /AinA-mvp2 {
    run_as         shiny;
    site_dir       /srv/shiny-server/localarea36;
    log_dir        /mnt/logs/Test/localarea36;
    log_file_mode  0644;
    exec_supervisor "R_LIBS_USER=/srv/shiny-server/localarea36/library"