【问题标题】:Does packrat work on shiny server?Packrat 在闪亮的服务器上工作吗?
【发布时间】:2014-12-16 03:13:52
【问题描述】:

当我从 Rstudio 运行时,我的闪亮应用程序运行良好,但在闪亮服务器(开源)上运行时,我的闪亮应用程序运行良好,这对我来说似乎很奇怪(开源),不使用 packrat 私有库。我使用 .libPaths() 进行检查,但未显示私有库。 我是否需要进行任何配置才能使其正常工作? 谢谢。

paste0(.libPaths(),' shinyBS version:',as.character(packageVersion('shinyBS')))

在工作室

[1] "C:/R/ADAP/packrat/lib/i386-w64-mingw32/3.1.1 shinyBS version:0.25"
[2] "C:/R/ADAP/packrat/lib-ext shinyBS version:0.25"                   
[3] "C:/R/ADAP/packrat/lib-R shinyBS version:0.25"

在闪亮的服务器上

shinyBS version:0.20 Lib:/usr/lib64/R/library shinyBS version:0.20 Lib:/usr/share/R/library

【问题讨论】:

    标签: r shiny shiny-server


    【解决方案1】:

    有一个配置文件.Renviron,其中包含一个环境变量R_LIBS。这是您的 R 会话(和.libPaths())了解在哪里查找库的地方。要更改默认值,请不要直接编辑 .Renviron 文件,而是在同一目录中创建一个副本并将其命名为 .Renviron.site。在这个新文件中编辑 R_LIBS 变量。这可以防止您的配置更改在升级时被安装程序覆盖。

    【讨论】:

      【解决方案2】:

      我能够让 Packrat 使用闪亮的开源服务器。

      这是我在 CentOS 中的目录结构:

      /srv/shiny-server/sample-apps/test1/
        .Rprofile
        packrat/
        server.R
        ui.R
      

      在此示例中,我将 packrat 生成的 .Rprofile 文件和 packrat/ 目录(包含已编译的库)以及 server.Rui.R 文件复制到 test1 目录。

      为应用创建 R 进程后,packrat 库已正确加载。

      为了验证,我可以这样做:

      cd /srv/shiny-server/sample-apps/
      sudo cp -r test1 test2
      cd test2
      sudo rm .Rprofile
      sudo rm -rf packrat/
      

      然后,当我访问 http://localhost:3838/sample-apps/test2/ 时,packrat 库没有加载。

      请注意,在某些情况下,必须重新启动 Shiny 服务器才能使更改生效(例如,如果用户当前正在使用该应用程序,则该应用程序的 R 进程将不会自动重新加载新库)。使用sudo systemctl restart shiny-server 重新启动(在 CentOS 上)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-02-08
        • 2015-08-12
        • 2023-03-23
        • 2021-12-22
        • 2014-05-06
        • 2016-12-28
        • 1970-01-01
        • 2014-07-28
        相关资源
        最近更新 更多