RStudio Shiny ERROR: нет пакета под названием "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
библиотеки, и я получаю окно браузера с панелью инструментов, если я копирую + вставляю
этот код в сеансе 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?
Ответы
Ответ 1
Проблема заключается в том, что блестящий сервер не может найти пакеты, которые вы устанавливаете, поскольку он запускает их как другого пользователя, который называется shiny
. Этот пользователь создается при установке блестящего сервера
Самый простой (и безопасный IMHO) способ решить это - просто установить пакеты в качестве блестящего пользователя, выполнив следующие шаги.
- Задайте пароль для пользователя с помощью
sudo passwd shiny
, введите и подтвердите пароль
- Переключитесь на блестящую учетную запись, используя:
su - shiny
- Вызов
R
с помощью $ R
(без sudo)
- Установите необходимые пакеты, в этом случае:
install.packages("shinydashboard")
Обратите внимание, что если у вас установлен rstudio-сервер на одном компьютере, вы можете выполнить шаги 2-4 с помощью этого интерфейса. Просто перейдите в тот же домен /ip и используйте: 8787 для интерфейса rstudio-server вместо: 3838 для блестящего сервера.
Ответ 2
В Ubuntu (и Debian) у вас есть несколько вариантов.
-
Сделайте ls -ld /usr/local/lib/R/site-library
и обратите внимание, что каталог принадлежит группе adm
. Сделайте себя частью этой группы или, наоборот, измените группу на ту, членом которой вы являетесь. Теперь вы можете просто написать в этот каталог, поэтому будет работать простой старый install.packages()
.
-
Используйте littler через sudo apt-get install littler
и его удобный script (s) install.r
и install2.r
. Я использую их много из командной строки на многочисленных машинах на работе и дома. Тогда это так же просто, как install.r shinydashboard
(как только вы скопировали или связали install.r
где-то в своем $PATH
).
-
Если вы настаиваете, используйте кувалду и запустите R как root. Это, как правило, не очень хорошая идея из-за эскалации разрешений.
Ответ 3
Если вы используете Shiny Server, все ваши пакеты R должны быть установлены с правами суперпользователя. См. Раздел 1.3.4 руководства администратора Shiny Server для более подробной информации.
Ответ 4
Этот ответ должен работать: fooobar.com/questions/551241/...
Теперь я понял, что это проблема с разрешениями при установке пакетов как R
вместо sudo R
.
Я мгновенно разрешил его, установив в качестве $USER
и затем указав на библиотеку с помощью lib.loc
:
library(shinydashboard, lib.loc="/home/avilella/R/x86_64-pc-linux-gnu-library/3.1")
Ответ 5
Чтобы установить библиотеку в sudo.
1- su # быть в режиме sudoer
2) введите пароль
3- R
4- install.packages('shinydashboard')
Ответ 6
У меня есть аналогичная проблема для пакета "d3heatmap". Он запускается в RStudio (на рабочем столе и в Интернете), но получает сообщение об ошибке в веб-браузере.
Единственное работоспособное решение - установить пакет из командной строки R под учетной записью "root".