I am trying to get http://rstudio.github.io/shinydashboard/ working on my Ubuntu 14.10 laptop.
I followed the installation instructions here:
http://rstudio.github.io/shinydashboard/get_started.html
Basic shiny
pages work. For example:
http://localhost:3838/sample-apps/hello/
But when I try one of the shinydashboard
examples, I get the error:
http://localhost:3838/sample-apps/shiny/
ERROR: there is no package called "shinydashboard"
If I run an R session in a terminal, I can load the shinydashboard
library, and I get a browser window with the dashboard if I copy+paste
this code in the R session:
library(shiny)
library(shinydashboard)
ui <- dashboardPage(
dashboardHeader(),
dashboardSidebar(),
dashboardBody()
)
server <- function(input, output) { }
shinyApp(ui, server)
It says:
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
I tried to install the devel version of the shiny server, but that
also didn't help. Here is my 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
EDITED:
More info:
ls -ld /usr/local/lib/R/site-library
drwxrwsr-x 11 root staff 4096 Mar 1 12:47 /usr/local/lib/R/site-library
Any ideas why I is it not working on http://localhost:3838 ? Which packaged need installing as root ?
The problem is that shiny-server cannot find the packages that you install because it runs them as a different user which is called shiny
. This user is created upon installation of shiny-server
The easiest (and safest IMHO) way to solve this is to just install the packages as the shiny user, using the following steps.
sudo passwd shiny
, now enter and confirm a passwordsu - shiny
R
using $ R
(without sudo)install.packages("shinydashboard")
Note that if you have rstudio-server installed on the same machine then you can perform steps 2-4 using that interface. Simply go the same domain/ip and use :8787 for the rstudio-server interface instead of :3838 for shiny-server.
On Ubuntu (and Debian) you have several choices.
Do ls -ld /usr/local/lib/R/site-library
and note that the directory is owned by group adm
. Make yourself part of that group, or alternatively change the group to one you are a member of. Now you can just write to that directory, so a plain old install.packages()
will work.
Use littler via sudo apt-get install littler
and its handy script(s) install.r
and install2.r
. I use these a lot from the command-line on numerous machines at work and home. Then this is as simple as install.r shinydashboard
(once you copied or linked install.r
somewhere into your $PATH
).
If you insist, use a sledgehammer and start R as root. That is generally not a good idea due to permissions escalation.
If you use Shiny Server, all your R packages need to be installed with root privilege. See Section 1.3.4 of the Shiny Server admin guide for more details.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With