RStudio Shiny ERROR: there is no package called "shinydashboard"

RStudio Shiny ERROR: there is no package called "shinydashboard"

我正在尝试让 http://rstudio.github.io/shinydashboard/ 在我的 Ubuntu 14.10 笔记本电脑上工作。

我按照这里的安装说明操作:

http://rstudio.github.io/shinydashboard/get_started.html

基本 shiny 页面正常工作。例如:

http://localhost:3838/sample-apps/hello/

但是当我尝试其中一个 shinydashboard 示例时,出现错误:

http://localhost:3838/sample-apps/shiny/

ERROR: there is no package called "shinydashboard"

如果我 运行 终端中的 R 会话,我可以加载 shinydashboard 库,如果我复制+粘贴,我会得到一个带有仪表板的浏览器 window R 会话中的这段代码:

library(shiny)
library(shinydashboard)

ui <- dashboardPage(
  dashboardHeader(),
  dashboardSidebar(),
  dashboardBody()
)

server <- function(input, output) { }

shinyApp(ui, server)

它说:

Attaching package: 'shinydashboard'

The following object is masked from 'package:graphics':

    box

> 
> ui <- dashboardPage(
+   dashboardHeader(),
+   dashboardSidebar(),
+   dashboardBody()
+ )
> 
> server <- function(input, output) { }
> 
> shinyApp(ui, server)

Listening on http://127.0.0.1:7093

我尝试安装闪亮服务器的开发版本,但是 也没有帮助。这是我的 sessionInfo():

> sessionInfo()
R version 3.1.1 (2014-07-10)
Platform: x86_64-pc-linux-gnu (64-bit)

locale:
 [1] LC_CTYPE=en_GB.UTF-8       LC_NUMERIC=C              
 [3] LC_TIME=en_GB.UTF-8        LC_COLLATE=en_GB.UTF-8    
 [5] LC_MONETARY=en_GB.UTF-8    LC_MESSAGES=en_GB.UTF-8   
 [7] LC_PAPER=en_GB.UTF-8       LC_NAME=C                 
 [9] LC_ADDRESS=C               LC_TELEPHONE=C            
[11] LC_MEASUREMENT=en_GB.UTF-8 LC_IDENTIFICATION=C       

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] shinydashboard_0.2.3 shiny_0.11.1.9002   

loaded via a namespace (and not attached):
 [1] bitops_1.0-6    devtools_1.7.0  digest_0.6.8    htmltools_0.2.6
 [5] httpuv_1.3.2    httr_0.6.1      mime_0.2        R6_2.0.1       
 [9] Rcpp_0.11.3     RCurl_1.95-4.5  stringr_0.6.2   tools_3.1.1    
[13] xtable_1.7-4   

已编辑:

更多信息:

ls -ld /usr/local/lib/R/site-library
drwxrwsr-x 11 root staff 4096 Mar  1 12:47 /usr/local/lib/R/site-library

知道为什么我不在 http://localhost:3838 上工作吗?哪个软件包需要以 root 身份安装?

如果你使用 Shiny Server,你所有的 R 包都需要以 root 权限安装。有关详细信息,请参阅 Section 1.3.4 of the Shiny Server admin guide

在 Ubuntu(和 Debian)上,您有多种选择。

  1. 执行 ls -ld /usr/local/lib/R/site-library 并注意该目录归组 adm 所有。使自己成为该组的一部分,或者将组更改为您所属的组。现在你可以只写入那个目录,所以一个普通的旧 install.packages() 就可以了。

  2. 通过 sudo apt-get install littler 及其方便的脚本 install.rinstall2.r 使用 littler。我在工作和家里的许多机器上从命令行使用这些很多。那么这就像 install.r shinydashboard 一样简单(一旦您将 install.r 复制或链接到您的 $PATH 中)。

  3. 如果您坚持,请使用大锤并以 root 身份启动 R。由于权限升级,这通常不是一个好主意。

这个答案应该有效:

我现在意识到这是在将软件包安装为 R 而不是 sudo R 时的权限问题。

我通过安装 $USER 并使用 lib.loc:

指向库来暂时解决了这个问题
library(shinydashboard, lib.loc="/home/avilella/R/x86_64-pc-linux-gnu-library/3.1")

问题是 shiny-server 找不到您安装的软件包,因为它以另一个名为 shiny 的用户运行它们。该用户是在安装 shiny-server

时创建的

解决这个问题的最简单(也是最安全)的方法是使用以下步骤以 shiny 用户身份安装软件包。

  1. 使用 sudo passwd shiny 为用户设置密码,现在输入并确认密码
  2. 切换到 shiny 帐户使用:su - shiny
  3. 使用 $ R(不使用 sudo)调用 R
  4. 安装所需的包,在本例中:install.packages("shinydashboard")

请注意,如果您在同一台机器上安装了 rstudio-server,那么您可以使用该界面执行步骤 2-4。只需使用相同的 domain/ip 并将 :8787 用于 rstudio-server 接口,而不是 :3838 用于 shiny-server。

在 sudo 中安装库。

1- su #进入 sudoer 模式 2- 录下密码 3- 右 4- install.packages('shinydashboard')

我对 "d3heatmap" 包有类似的问题。它在 RStudio(桌面和网络)中运行,但在网络浏览器中出现错误。

唯一可行的解​​决方案是在 "root" 帐户下从 R 命令行安装包。