我在 Amazon EC2 实例上托管的 Redhat Linux 上成功安装了 DeployR。我可以成功转到 DeployR 登录页面并检查诊断选项卡,它说 DeployR 正在运行,而且看起来很好。
我已经测试了一个简单的 R 脚本并在 DeployR 上运行良好,但现在我需要安装 RJDBC 包:install.packages("RJDBC",dep=TRUE)
包管理文档不明确:https://deployr.revolutionanalytics.com/documents/admin/r-package-mgmt/
它说:“在 DeployR 网格节点上手动运行此 R 脚本。”但不确定如何在网格节点上运行脚本。如何访问网格节点?
一般来说,需要有关如何为 DeployR 安装包的指导。
最佳答案
如果您的 DeployR 安装只有一台服务器,那么“网格节点”意味着这是您的服务器 - 只需通过 SSH(或任何其他允许您访问 DeployR 内容的方式)到那里并执行所需的操作。
Linux 上 DeployR 最典型的问题是开发包的可用性(它们具有 -devel
后缀),这是编译和构建 DeployR 从 CRAN 获取的 R 包所必需的。作为源代码的存储库(这是与具有预编译包二进制文件的 Windows 和 Mac OSX 的主要区别)。
最简单的方法是查看 RServe 日志(例如 <deployr_home>/deployr/8.0.0/rserve/R/log
),找到有关某些库不可用的错误消息(例如 x
或 curl
或其他),然后安装所需的开发 RPM(我的示例为 yum install xz-devel
或 yum install libcurl-devel
)。
有时从错误消息中找出所需的包名称是一个很大的挑战。为此,您可以使用不同的方式,例如yum search
您在基于 RedHat 的发行版上拥有的命令,或 http://rpm.pbone.net/如果您知道一些应该属于它的文件名,可以在网站上查找包名:例如如果错误消息显示 curl-config: command not found
那么你可以寻找curl-config
rpm.pbone.net 中的文件并获得相应包名称的提示。
这是我在 Amazon Linux AMI 上使用的一些最常用的 DeployR 开发包的列表:
- pcre-devel
- xz-开发
- bzip2-devel
- zlib 开发
- libicu-开发
- libstdc++-devel
- libcurl 开发
- libxml2-devel
由于 Amazon Linux 基于 RedHat 发行版,因此这些软件包名称应该适合您。
关于r - 如何在 Linux 上运行的 DeployR 服务器上安装 R 包(托管在 Amazon EC2 上)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36942230/