RStudio Shiny ERROR:没有名为" shinydashboard"

时间:2015-03-01 13:48:53

标签: r shiny

我想让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 如果我复制+粘贴,我会在仪表板上显示一个浏览器窗口 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

我试图安装闪亮服务器的devel版本,但那样 也没有帮助。这是我的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身份安装?

6 个答案:

答案 0 :(得分:14)

问题是,闪亮服务器无法找到您安装的软件包,因为它将其作为名为shiny的其他用户运行。此用户是在安装shiny-server

时创建的

解决此问题的最简单(也是最安全的恕我直言)方法是使用以下步骤将软件包安装为闪亮的用户。

  1. 使用sudo passwd shiny为用户设置密码,现在输入并确认密码
  2. 使用:su - shiny
  3. 切换到闪亮帐户
  4. 使用R(不使用sudo)
  5. 来调用$ R
  6. 安装所需的软件包,在本例中为install.packages("shinydashboard")
  7. 请注意,如果您在同一台计算机上安装了rstudio-server,则可以使用该界面执行步骤2-4。只需使用相同的域/ ip并使用:8787用于rstudio-server接口,而不是:3838用于闪亮服务器。

答案 1 :(得分:5)

在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.由于权限升级,这通常不是一个好主意。

答案 2 :(得分:2)

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

答案 3 :(得分:1)

这个答案应该有效:https://stackoverflow.com/a/28834778/719016

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

我暂时通过安装$USER然后使用lib.loc指向库来解决它:

library(shinydashboard, lib.loc="/home/avilella/R/x86_64-pc-linux-gnu-library/3.1")

答案 4 :(得分:1)

在sudo中安装库。

1- su #to处于模式sudoer 2-磁带密码 3- R 4- install.packages(&#39; shinydashboard&#39;)

答案 5 :(得分:1)

我对“d3heatmap”包有类似的问题。它在RStudio(桌面和Web)中运行,但在Web浏览器中出错。

唯一可行的解​​决方案是从“root”帐户下的R命令行安装软件包。