B.3 集成开发环境

RStudio 公司的愿景,介绍 RStudio 开发环境提供的效率提升工具或功能

B.3.1 RStudio 桌面版

开源桌面版 RStudio 集成开发环境

图 B.2: 开源桌面版 RStudio 集成开发环境

# mongolite
sudo dnf install -y  openssl-devel cyrus-sasl-devel
# sodium
sudo dnf install -y  libsodium-devel
# rJava
R CMD javareconf
# https://github.com/s-u/rJava
# shinytest::installDependencies()
db <- rstudioapi::getRStudioPackageDependencies()

invisible(lapply(db$name, function(pkg) {
  if (system.file(package = pkg) == "") {
    install.packages(pkg)
  }
}))

rsthemes 主题

B.3.2 RStudio 服务器版

RStudio Server 开源服务器版可以放在虚拟机里或者容器里,RStudio 桌面版装在服务器上,服务器为 Ubuntu/CentOS/Windows 系统,然后本地是 Windows 系统,可以通过远程桌面连接服务器,使用 RStudio;

虚拟机里的 RStudio

图 B.3: 虚拟机里的 RStudio

服务器上启动 Docker ,运行 RStudio 镜像,本地通过桌面浏览器,如谷歌浏览器登陆连接。

容器里的 RStudio

图 B.4: 容器里的 RStudio

  1. 下载 RStudio IDE

    我们从 RStudio 官网下载开源桌面或服务器版本,服务器版本的使用介绍见文档,最常见的就是设置端口

    wget https://download2.rstudio.org/rstudio-server-1.1.456-amd64.deb
    sudo apt-get install gdebi
    sudo gdebi rstudio-server-1.1.456-amd64.deb
  2. 设置端口

    在文件 /etc/rstudio/rserver.conf 下,设置

    www-port=8181

    注意:修改 rserver.conf 文件后需要重启才会生效

    sudo rstudio-server stop
    sudo rstudio-server start

    接着获取机器的 IP 地址,如 192.168.141.3

    ip addr
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
     link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
     inet 127.0.0.1/8 scope host lo
        valid_lft forever preferred_lft forever
     inet6 ::1/128 scope host
        valid_lft forever preferred_lft forever
    2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
        link/ether 08:00:27:59:c0:fb brd ff:ff:ff:ff:ff:ff
        inet 10.0.2.15/24 brd 10.0.2.255 scope global dynamic enp0s3
           valid_lft 83652sec preferred_lft 83652sec
        inet6 fe80::a00:27ff:fe59:c0fb/64 scope link
           valid_lft forever preferred_lft forever
    3: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
        link/ether 08:00:27:09:33:0d brd ff:ff:ff:ff:ff:ff
        inet 192.168.141.3/24 brd 192.168.141.255 scope global dynamic enp0s8
           valid_lft 547sec preferred_lft 547sec
        inet6 fe80::a00:27ff:fe09:330d/64 scope link
           valid_lft forever preferred_lft forever

    然后,就可以从本地浏览器登陆 RStudio 服务器版本,如 http://192.168.141.3:8181/

rstudio-server 已经收录在 Fedora 33+ 仓库中了,详情见 https://cran.r-project.org/bin/linux/fedora/

授权问题 ERROR system error 13 (Permission denied) How to Disable SELinux Temporarily or Permanently

B.3.3 Shiny 服务器版

shiny 开源服务器版

B.3.4 Eclipse + StatET

Eclipse 配合 StatET 插件 http://www.walware.de/goto/statet 提供R语言的集成开发环境 https://projects.eclipse.org/projects/science.statet

基于 Eclipse 的 R 集成开发环境 StatET

图 B.5: 基于 Eclipse 的 R 集成开发环境 StatET

StatET 基于 Eclipse 首次建立索引很慢,估计半小时到一个小时,添加新的 R 包后,每次启动 StatET 也会建立索引缓存,此外,Eclipse 开发环境占用内存比较多,配置 StatET 的过程如下

B.3.5 Emacs + ESS

Emacs 配合 ESS 插件 https://ess.r-project.org/

B.3.6 Nvim-R

Nvim-R 是一个基于 Vim 的集成开发环境 https://github.com/jalvesaq/Nvim-R