在 EC2 实例中启动闪亮的应用程序时出错

Error when launching shiny app in EC2 instance

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

我的 EC2 实例上有 RStudio Server,并且我有 运行 应用程序的代码保存在我的 EC2 实例中的适当位置(ec2-user/ShinyApps/myappnamehere/app.R。但是,当我尝试使用我闪亮的应用程序前往 url - http://ec2-MY-IP.compute-1.amazonaws.com:3838/ec2-user/myappnamehere/,我在 url:

处收到以下错误
An error has occurred
The application failed to start.
The application exited during initialization.

这很奇怪,因为当我在控制台的 RStudio Server 中点击 'run app' 时,应用程序完美启动并且运行良好。我通过进入 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 服务器中。

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

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

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

首先你想 运行 R 为 sudo.

我最好先用

切换到su
sudo su

运行 R 只需输入 R 即可。

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

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