【发布时间】: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