【问题标题】:Shiny Server not able to load installed packageShiny Server 无法加载已安装的软件包
【发布时间】:2015-09-24 13:06:41
【问题描述】:

我在将应用程序部署到 Shiny Server 时遇到问题。

应用程序正在加载(或至少 ui.R 已加载),因此我能够看到用户界面。但是执行到这里就停止了,下面的内容被转储到我的 JS 控制台:

Attaching package: ‘shinydashboard’

The following object is masked from ‘package:graphics’:

box

Loading required package: bitops Error in library(data.table) : there
  is no package called ‘data.table’

最后一行表明问题出在data.table 包上。

我检查了我的 Shiny Server 安装,data.table 已正确安装。我可以以普通用户和sudo 用户的身份在服务器上的 R 控制台中加载包。

我什至没有直接使用这个包,所以我猜这是某种依赖。

你有什么想法吗?

编辑:使用闪亮教程中的第 1 课示例可以重现此问题的最小示例:http://shiny.rstudio.com/tutorial/lesson1/ 并包括 library(data.table)

如果您需要data.table 包来组合data.frames, 我通过使用 dplyr 函数 rbind_all 而不是来自 data.tablerbindlist 找到了一些解决方法(请记住,这明显慢)

【问题讨论】:

  • 尝试使用library()lib= 选项并提供包文件夹的完整路径
  • library(data.table) 最近已被 library(DT) 弃用 - 也许尝试在脚本顶部加载最后一个包。还要确保更新每个库,在某些情况下我不得不使用 install_github 版本的包。

标签: r shiny-server shinydashboard


【解决方案1】:

当我最近在一个 ec2 实例上部署了 shiny 时,我遇到了类似的问题。不带参数运行 library() 并查看不同的包目录。我相信我的图像附带的闪亮使用的软件包的默认目录是“/usr/local/lib/R/site-library”。

当我安装包时,我确保用 lib=, install.packages("data.table",lib="/usr/local/lib/R/site-library") 明确说明要安装的路径

【讨论】:

  • 我按照您的指示得到了这条路径:/Library/Frameworks/R.framework/Versions/3.1/Resources/library。我按照说明的方式重新安装了软件包,但应用程序无法正常工作。
  • 您是否可以在位于该目录中的闪亮应用程序中使用其他包?您是从 rstudio 运行还是实际部署在闪亮的服务器上?
  • 它部署在一个闪亮的服务器上。是的,我可以使用其他软件包,我还将所有软件包更新为 RStudio 中使用的版本(应用程序运行良好)。
  • 抱歉,我认为它不需要这个。您能否编辑原始帖子以包含一个最小的可重现示例,并包含 sessionInfo() 的输出。
  • 所以当我从闪亮服务器启动时,我能够重现您的错误。对我来说,安装包“chron”(确保再次使用 lib= 安装到正确的目录)解决了这个问题。我在 js 控制台中遇到了和你一样的错误,但是它也说它找不到包 chron。安装 chron 消除了所有错误。我正在使用 R 3.1.3
【解决方案2】:

谢谢@lbollar 和@MarkeD! 安装chron 包和install_github 版本的data.table 解决了我的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-17
    • 1970-01-01
    • 2013-11-01
    相关资源
    最近更新 更多