如何在Ubuntu16.04上使用devtools安装R包
介绍
R 是一种流行的开源编程语言,专门用于统计计算和图形。 它广泛用于开发统计软件和执行数据分析。 R 易于扩展,社区以不断为特定研究领域添加用户生成的包而闻名,这使其适用于许多领域。
在本教程中,我们将向您展示如何安装 devtools 并使用它直接从 GitHub 安装包。
先决条件
要继续进行,您将需要 R,安装在具有至少 1GB RAM 的 Ubuntu 16.04 服务器上和具有 sudo
权限的非 root 用户。 如何在 Ubuntu 16.04 上设置 R 可以帮助你。
第 1 步 — 为 devtools 安装系统依赖项
我们将从交互式 shell 安装 devtools,但在此之前,我们需要安装这些系统依赖项:
sudo apt-get install build-essential libcurl4-gnutls-dev libxml2-dev libssl-dev
完成后,我们就可以继续了。
第 2 步 — 安装 Devtools 包
Devtools 将使我们能够直接从 GitHub、BitBucket、本地文件安装和构建包,以及从 CRAN 安装特定版本。 为了使 devtools
在站点范围内可用,我们将以 root 身份进入 R 的 shell:
sudo -i R
在监视器中,我们将使用 install.packages()
功能从官方 Comprehensive R Archive Network (CRAN) 安装 devtools
。
install.packages('devtools')
出现提示时,我们将为 0-Cloud 选择 1,它将我们连接到 RStudio 提供的内容交付网络 (CDN),以便获得地理上最近的镜像。 做出选择后,安装将开始。 可能还要等一下。 完成后,在安装输出接近尾声时,我们应该看到:
Output... ** testing if installed package can be loaded * DONE (devtools)
接下来,我们将在直接从 GitHub 获取和构建项目时对其进行测试。
第 3 步 — 从 GitHub 安装 R 包
在这一步中,我们将直接从 GitHub 安装 Shiny 的最新开发版本,这是一个 R 的 Web 应用程序框架。 我们将使用 devtools
提供的 install_github
函数来执行此操作。 GitHub 包由其作者 (rstudio
) 及其名称 (shiny
) 定义,您可以从项目主页面的 GitHub URL 中找到该名称:https://github.com/rstudio/shiny
。
使用以下命令进行安装:
devtools::install_github('rstudio/shiny')
当我们在末尾附近看到以下几行并返回到 R 提示符时,安装已成功完成:
Output. . . ** testing if installed package can be loaded * DONE (shiny) >
我们可以使用以下命令查看我们安装的 Shiny 的特定版本:
packageVersion("shiny")
Output[1] ‘0.14.0.9000’
在下一步中,我们将快速浏览一下 Shiny。 我们首先需要执行几个系统级任务,因此我们将使用以下命令或使用 CTRL-D 退出监视器:
q()
其中任何一个都会提示您保存工作区图像,即包含用户定义对象的 R 工作环境。 这不是必需的,因此您可以安全地输入 n
。
由于我们将使用 Web 浏览器来查看 Shiny 可以做什么的示例,因此我们将确保允许 Web 流量。
检查防火墙
Shiny 是一个 Web 应用程序框架,因此为了在浏览器中查看其示例,我们需要确保防火墙允许 Web 流量。 内置 Web 服务器每次启动时都会随机选择一个端口,除非它以特定值启动。 为了使防火墙管理更容易,我们将在运行示例时指定端口 4040。
让我们检查一下防火墙的状态:
sudo ufw status
在这种情况下,只允许通过 SSH:
OutputStatus: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6)
您可能有其他规则或根本没有防火墙规则。 由于在这种情况下只允许 SSH 流量,我们将添加端口 4040 并在完成后检查状态:
sudo ufw allow 4040/tcp sudo ufw status
OutputStatus: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere 4040/tcp ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) 4040/tcp (v6) ALLOW Anywhere (v6)
配置好防火墙后,我们准备看看 Shiny。
运行闪亮:
我们将以普通用户的身份连接到 R:
R
接下来,我们将加载 shiny
:
library("shiny")
Shiny 包含 11 个内置示例来演示其工作原理。 我们将加载 shiny
库,然后运行第一个示例。 因为我们在远程服务器上工作,所以我们将指定主机地址以便从我们的本地计算机进行浏览。 我们还将 launch.browser
设置为 FALSE
这样它就不会尝试在远程服务器上启动浏览器:
runExample("01_hello", host = "203.0.113.0", port = 4040, launch.browser= FALSE)
OutputListening on http://203.0.113.0:4040
让我们在网络浏览器中访问这个 URL:
我们安装 Shiny 是为了说明使用 devtools
直接从 GitHub 存储库安装。 然后我们在没有提升权限的情况下运行示例 Shiny 应用程序,以验证所有用户都可以访问该包。
重新安装稳定版 Shiny
对于生产情况,除非我们有令人信服的理由从存储库安装,否则我们将从 CRAN 安装。
让我们花点时间回到稳定包。 首先,我们将使用 CTRL-C 中断服务器,然后使用 CTRL-D 退出 R shell 并以 root 身份重新输入:
sudo -i R
由于我们退出了shell,系统会提示我们选择一个镜像,我们将再次选择1。
我们可以使用以下命令安装稳定版本,这将覆盖我们在前面步骤中完成的从 GitHub 安装:
install.packages("shiny")
让我们验证版本的变化:
packageVersion("shiny")
Output[1] ‘0.14’
输出表明我们现在运行的是稳定版本,而不是我们从 GitHub 安装的版本 0.14.9000
。
注意: 我们还可以从系统命令行的DESCRIPTION文件中找到有关软件包版本的更多信息。
cat /usr/local/lib/R/site-library/shiny/DESCRIPTION
结论
在本教程中,我们直接从 GitHub 安装了最新的 Shiny 包,并学习了如何从 CRAN 重新安装其稳定版本。 如果您有兴趣了解更多关于 Shiny 本身的信息,您可能想看看 RStudio 的 Shiny 教程。 您可能还对 安装开源 RStudio Server 感兴趣,这是在远程 Linux 服务器上运行的 R 版本的接口,它将 IDE 带入基于服务器的部署。