【问题标题】:Error when launching shiny app in EC2 instance在 EC2 实例中启动闪亮的应用程序时出错
【发布时间】:2018-05-12 15:13:32
【问题描述】:

我的 EC2 实例中有一个闪亮的应用程序设置。该应用程序很简单,并使用我保存在 S3 存储桶(具有公共读取访问权限)中的 CSV 文件。有关我的设置的更多信息,我按照本文中的说明 - https://aws.amazon.com/blogs/big-data/running-r-on-aws/ - 到一个点,我能够部署他们的演示应用程序。

我的 EC2 实例上有 RStudio Server,并且我有运行应用程序的代码保存在我的 EC2 实例中的适当位置 (ec2-user/ShinyApps/myappnamehere/app.R。但是,当我尝试去使用我闪亮的应用程序访问网址 - http://ec2-MY-IP.compute-1.amazonaws.com:3838/ec2-user/myappnamehere/,我在该网址收到以下错误:

An error has occurred
The application failed to start.
The application exited during initialization.

这很奇怪,因为当我在控制台中从 RStudio Server 中点击“运行应用程序”时,该应用程序可以完美启动并且运行良好。我通过进入 ec2-user/ShinyApps/log 目录进行了调查,并查看了我尝试在线访问该应用程序时的日志文件,如下所示:

su: ignore --preserve-environment, it's mutually exclusive to --login.
Error in library(RCurl) : there is no package called ‘RCurl’
Calls: runApp ... sourceUTF8 -> eval -> eval -> ..stacktraceon.. -> library
Execution halted

这很奇怪,因为虽然 library(RCurl) 是我的代码中的一行(实际上是第二行),但当我在 RStudio Server 中运行它时,此代码有效(整个应用程序有效)。

任何关于为什么这可能不起作用的想法将不胜感激!

编辑 - 不确定这是否是这篇文章的最佳位置,因为它不在特定的代码行上 - 如果不是,请指出正确的方向。

【问题讨论】:

  • 这可能是由于闪亮的服务器正在寻找东西而不是运行 rstudio 服务器时它们在哪里。我按照本指南取得了成功:deanattali.com/2015/05/09/…
  • 是的,看起来我将 R 包安装在只有特定用户可以访问它们的位置,但不是 ec2-user,这是我需要能够访问它们的用户
  • 我试图在网上找到一些东西,让我立即在 Amazon Linux AMI EC2 实例中安装 R 包系统范围
  • 阅读我链接的内容 - 它有一个关于安装包 (6.1) 的部分
  • 您也可以查看var/log/shiny-server/yourappname的详细App日志了解错误

标签: r amazon-ec2 rstudio-server


【解决方案1】:

安装软件包以便所有用户都可以使用它们。您需要以超级用户身份安装软件包。

首先你想以sudo 运行 R。

我最好先切换到su

sudo su

只需键入 R 即可运行 R。

然后安装所有你需要的包。

这将使所有用户都可以使用所有已安装的软件包,包括闪亮的

【讨论】:

  • 是的,这成功了。运行 sudo su,然后从控制台运行诸如 R -e "install.packages('ggplot2', repos='cran.rstudio.com/')" 这样的行
猜你喜欢
  • 1970-01-01
  • 2018-10-15
  • 1970-01-01
  • 2023-04-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-25
  • 2016-02-24
相关资源
最近更新 更多