运行文档

概览

有多种方法可以运行 Shiny 交互式文档:

  1. 在 RStudio IDE 中使用 运行文档
  2. 使用 quarto serve 命令行界面。
  3. 将它们部署到服务器供更广泛的受众使用。

我们将在本文中深入探讨所有这些场景。请注意,为了运行交互式 Shiny 文档,您需要安装最新版本的 rmarkdown 包(v2.10),您可以通过以下方式安装:

install.packages("rmarkdown")

RStudio IDE

在开发交互式文档时,在 RStudio 中运行可能是最方便的。

请注意,您需要 RStudio v2022.07 或更高版本才能运行 Quarto 交互式文档。您可以在此处下载最新版本(v2023.12)https://posit.co/download/rstudio-desktop/

在编辑 Shiny 交互式文档时点击 运行文档 按钮,以在 IDE 中渲染并查看文档:

当您进行更改时,只需再次点击 运行文档 即可在文档预览中看到更新。

您可能希望考虑启用的两个选项是 保存时运行在查看器窗格中预览(默认情况下,预览在外部窗口中进行)。您可以在编辑器工具栏中访问这些选项:

命令行

您也可以通过 quarto serve 从命令行运行 Shiny 交互式文档。例如:

终端
quarto serve document.qmd

serve 命令有许多选项可以控制文档服务器的端口和主机,以及是否为正在运行的文档自动打开浏览器。您可以通过 quarto serve help 了解有关这些选项的更多信息。

如果您在 R 会话中,也可以使用 quarto R 包来运行文档:

library(quarto)
quarto_serve("document.qmd")

部署

ShinyApps

您可以将 Shiny 交互式文档发布到 ShinyApps 托管服务。为此,您应确保拥有:

  1. ShinyApps 账户(使用 注册表单 创建账户)。

  2. 最新版本的 rsconnectquarto R 包。您可以按如下方式安装它们:

    install.packages("rsconnect")
    install.packages("quarto")

然后,您可以使用 quarto 包的 quarto_publish_app() 函数部署您的交互式文档。您可以按如下方式操作(从包含您的文档的目录中工作):

library(quarto)
quarto_publish_app(server = "shinyapps.io")

如果您使用 RStudio,当您处理交互式文档时,也可以使用 发布 按钮

请注意,在发布文档之前,您应始终在本地 运行文档(因为这将创建在 ShinyApps 上提供的 .html 文件)。

Hugging Face

HuggingFace Spaces 提供了用于部署 R Shiny 应用程序的 SDK。在此了解更多关于使用 HuggingFace 和 R Shiny 的信息:https://huggingface.co/docs/hub/spaces-sdks-docker-shiny#shiny-for-r

Posit Connect

Posit Connect 是 Posit 提供的服务器产品,用于安全共享应用程序、报告和图表。您可以将 Shiny 交互式文档发布到 Posit Connect,方法与上述 ShinyApps 类似。

首先,确保您拥有最新开发版本的 rsconnectquarto R 包。您可以按如下方式安装它们:

install.packages("rsconnect")
install.packages("quarto")

接下来,使用 quarto 包的 quarto_publish_app() 函数部署您的交互式文档,通过 server 参数提供您的 Posit Connect 安装的域名或 IP 地址。您可以按如下方式操作(从包含您的文档的目录中工作):

library(quarto)
quarto_publish_app(server = "rsc.example.com")

如果您使用 RStudio,您也可以使用 发布 按钮 ,如上述 ShinyApps 文档中所述:

与 ShinyApps 一样,在发布文档之前,您应始终在本地 运行文档(因为这将创建由 Posit Connect 提供的 .html 文件)。