【问题标题】:R Shiny - Error: there is no package called ‘shinyjs’R Shiny - 错误:没有名为“shinyjs”的包
【发布时间】:2026-01-15 22:50:01
【问题描述】:

当我在本地运行时,我的应用程序运行良好,但是当我将其托管在 shinyapps.io 中时,会出现此错误:

发生错误

应用程序启动失败。

值错误[3L]:没有名为“shinyjs”的包 调用:本地 ... tryCatch -> tryCatchList -> tryCatchOne -> 匿名

我还有两个在线应用程序具有相同的 ui.Rserver.R 布局,并且都可以正常工作。即使我避免了涉及 shinyjs 的代码,它也会在浏览器中显示应用程序,但使用包 openxlsx 的应用程序日志中会出现相同的错误。其他两个几乎完全相同的应用程序完美运行让我完全迷失了。

【问题讨论】:

  • 一定有加载shinyjs的地方或者一定有依赖,安装shinyjs并在app代码中加载即可
  • 我已经安装了库并且脚本加载了它。这个应用程序在本地工作,问题是当它上传到shinyapps.io时,就像它没有安装在服务器中的包一样。但同样,我还有两个具有相同结构的应用程序在工作。当我删除shinyjs 时,其他库也会出现同样的错误。这个应用程序在其他两个运行时没有问题的情况很少见。感谢您的回答。
  • shinyjs 似乎没有安装在shinyapps.io 服务器上。您可以为新包创建功能请求here
  • @GregordeCillia 显然,是的。我想不通的是为什么其他两个使用 shinyjs 的应用程序也没有问题。我会看看你传递的那个链接。谢谢。

标签: r shiny shinyjs shinyapps


【解决方案1】:

我知道这个答案很晚,但如果有用的话,这里是:

1.- 打开终端并运行:sudo R

2.- 我安装了 shinyjs:install.packages("shinyjs", dependencies=TRUE)

3.- 创建shinyjs目录:mkdir /usr/local/lib/R/site-library/shinyjs

4.- cd /usr/local/lib/R/site-library/shinyjs

4.- 从活动用户名主 R 目录复制 shinyjs 文件夹:

cp /home/username/R/x86_64-pc-linux-gnu-library/3.5/shinyjs/* -r .

转到您的网络浏览器,它将打开您的应用程序。

注意。请务必将用户名更改为正确的值并记住设置权限。

【讨论】:

  • 问题是在 shinyapps.io 上托管的应用程序中加载包时出现问题,而不是本地
  • 好吧,我的意思是当我从 rstudio 运行我的应用程序时在本地运行,但是当我尝试使用闪亮的服务器运行它时它不起作用,并且按照我的上述步骤工作正常。我把它贴在这里以防对某人有用。
  • 当然不建议以这种方式安装软件包,无论是在闪亮的服务器上还是在本地。
  • 是的,你完全正确,我误解了,我很抱歉我的困惑。就我而言,我不知道为什么从 R 执行 install.packages 时没有安装shinyjs,所以我按照我提到的方式解决了它。如果你觉得最好的办法是删除我所有的答案,请这样做。
【解决方案2】:

当您在 shinyapps.io 上部署您的应用时,服务必须了解软件包的安装位置。两种最常见的软件包安装来源可能是:

  • 克兰
  • Github

查看documentation,您会看到Github 软件包必须与devtools 一起安装。我遇到了与您相同的问题,因为我安装了 remotespak 的软件包,只需使用 install.packages 用于 CRAN 版本和 devtools 重新安装所需的软件包本地版本并重新部署:

install.packages("openxlsx")
# install.packages("devtools")
devtools::install_github("daattali/shinyjs")

【讨论】:

    【解决方案3】:

    根据我的经验,问题发生在带有 DESCRIPTION 文件的 RStudio 项目中,当有问题的包(例如 shinyjs)不包含在说明的 Imports 部分中时文件。

    【讨论】:

      最近更新 更多