Установочный пакет R Shiny Server

Возможное перекрытие:
Пакеты отсутствуют в shiny-server
R shiny / shiny-server - проблема с поиском пакетов
R - Как установить путь install.packages () для блестящего сервера? - Ubuntu

Я пробовал и прочитал все вышеперечисленное, но все еще не могу заставить мой Shiny Server вообще работать.

Я выполнил инструкции по установке на http://www.rstudio.com/shiny/server/install-opensource, включая общесистемную установку блестящего пакета:

   $ sudo su - \
        -c "R -e \"install.packages('shiny', repos='http://cran.rstudio.com/')\""

Shiny Server установлен и работает правильно,

~# sudo start shiny-server
start: Job is already running: shiny-server

но когда я перехожу к domain:3838, я вижу приветствие на блестящей странице с ошибкой

Error in eval(expr, envir, enclos) : The Shiny package was not found in the library. Ensure that Shiny is installed and is available in the Library of the user you're running this application as. Calls: local -> eval.parent -> eval -> eval -> eval -> eval Execution halted

Открытие R, install.packages('shiny', repos='http://cran.rstudio.com/'), а затем library(shiny) или любого другого пакета говорит мне, что он не может быть найден.

Я действительно застрял, я не только не могу установить / загрузить какие-либо пакеты, но и не могу найти, куда они идут.

РЕДАКТИРОВАТЬ:
install.packages(c("geonames"))
Installing package into ‘/usr/local/lib/R/site-library’ (as ‘lib’ is unspecified)

> library()
Warning message:
In library() :
libraries ‘/usr/local/lib/R/site-library’, ‘/usr/lib/R/site-library’ contain n o packages

И

> installed.packages()[,1:2]
           Package      LibPath
base       "base"       "/usr/lib/R/library"
boot       "boot"       "/usr/lib/R/library"
class      "class"      "/usr/lib/R/library"
cluster    "cluster"    "/usr/lib/R/library"
codetools  "codetools"  "/usr/lib/R/library"
compiler   "compiler"   "/usr/lib/R/library"
datasets   "datasets"   "/usr/lib/R/library"
foreign    "foreign"    "/usr/lib/R/library"
graphics   "graphics"   "/usr/lib/R/library"
grDevices  "grDevices"  "/usr/lib/R/library"
grid       "grid"       "/usr/lib/R/library"
KernSmooth "KernSmooth" "/usr/lib/R/library"
lattice    "lattice"    "/usr/lib/R/library"
MASS       "MASS"       "/usr/lib/R/library"
Matrix     "Matrix"     "/usr/lib/R/library"
methods    "methods"    "/usr/lib/R/library"
mgcv       "mgcv"       "/usr/lib/R/library"
nlme       "nlme"       "/usr/lib/R/library"
nnet       "nnet"       "/usr/lib/R/library"
parallel   "parallel"   "/usr/lib/R/library"
rpart      "rpart"      "/usr/lib/R/library"
spatial    "spatial"    "/usr/lib/R/library"
splines    "splines"    "/usr/lib/R/library"
stats      "stats"      "/usr/lib/R/library"
stats4     "stats4"     "/usr/lib/R/library"
survival   "survival"   "/usr/lib/R/library"
tcltk      "tcltk"      "/usr/lib/R/library"
tools      "tools"      "/usr/lib/R/library"
utils      "utils"      "/usr/lib/R/library"

Любая помощь приветствуется


SessionInfo:

> .libPaths() [1] "/usr/local/lib/R/site-library" "/usr/lib/R/site-library" [3] "/usr/lib/R/library"

> sessionInfo()
R version 3.0.2 (2013-09-25)
Platform: x86_64-pc-linux-gnu (64-bit)

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

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

person Smackboyg    schedule 22.05.2014    source источник
comment
Итак, ваша проблема, по сути, сводится к невозможности установить (или, возможно, загрузить) блестящий пакет (или какие-либо пакеты)?   -  person Roland    schedule 22.05.2014
comment
Да, боюсь, это не имеет отношения к блестящему серверу. Я просто не могу установить и загрузить какой-либо пакет. install.packages('shiny', repos='http://cran.rstudio.com/') Installing package into ‘/usr/local/lib/R/site-library’, но просмотр /usr/local/lib/R/site-library говорит мне, что он пуст. / usr / local / lib / R / site-library находится в .libPaths ()?   -  person Smackboyg    schedule 22.05.2014
comment
Вы проверили разрешения?   -  person Roland    schedule 22.05.2014
comment
Я не уверен, я работаю с системой на базе Linux всего два дня (пытаюсь заставить это работать!). Я так полагаю? Я вхожу в систему как root и могу работать как sudo? Пожалуйста, посмотрите мои правки? Какие-либо предложения?   -  person Smackboyg    schedule 22.05.2014
comment
Какую ошибку выдает install.packages? Ясно, что это не удается ...?   -  person Joe Cheng    schedule 23.05.2014
comment
Возможно, это поможет: stackoverflow.com/a/32996405/1328355   -  person Bastiaan Quast    schedule 07.10.2015


Ответы (4)


Проблема в том, что shiny-server не может найти пакеты, которые вы устанавливаете, потому что он запускает их от имени другого пользователя с именем shiny. Это пользователь, созданный при установке shiny-server.

Самый простой (и самый безопасный, ИМХО) способ решить эту проблему - установить необходимые пакеты, используя эту учетную запись пользователя (блестящая). Это можно сделать, выполнив следующие действия.

  1. Установите пароль для учетной записи shiny с помощью sudo passwd shiny, теперь введите и подтвердите пароль.
  2. Переключитесь на блестящую учетную запись, используя: su - shiny
  3. Вызов R с помощью R (без sudo)
  4. Установите необходимые пакеты, в данном случае: install.packages("shiny")

Обратите внимание: если на том же компьютере установлен rstudio-server, вы можете выполнить шаги 2–4, используя этот интерфейс. Просто перейдите к тому же домену / ip и используйте: 8787 для интерфейса rstudio-server вместо: 3838 для shiny-server.

Взято из моего ответа здесь

person Bastiaan Quast    schedule 07.10.2015
comment
Мне пришлось выполнить дополнительный шаг, чтобы это сработало. Перейдите к /etc/rstudio/rserver.conf и добавьте строку auth-minimum-user-id=100. Это минимальный идентификатор пользователя по умолчанию 1000, а мой shiny пользователь был 996, что не позволило мне войти в систему. - person Mxblsdl; 14.11.2020

У меня была аналогичная проблема. После прочтения руководства администратора, это может быть для вас решением.

Эта ошибка возникает из-за того, что у любого, кто обращается к приложению, не установлен пакет shiny. Если вы сделаете less /etc/shiny-server/shiny-server.conf и можете заметить следующее в первых двух строках:

# Instruct Shiny Server to run applications as the user "shiny"
run_as shiny;

Чтобы решить эту проблему, вы можете выполнить одно из следующих действий:

  • Переключитесь на пользователя shiny и установите туда все пакеты. например, su shiny. Однако это приведет к дублированию установленных вами библиотек для всех пользователей.
  • Чистый способ - всегда запускать shiny от другого пользователя со всеми пакетами, отредактировав run_as в /etc/shiny-server/shiny-server.conf. В этом случае вы можете изменить вторую строку на run_as your_username shiny;, чтобы она искала ваш .libPaths(), а затем блестящий .libPaths(). Вы также можете добавить сюда нескольких пользователей.
person Boxuan    schedule 02.09.2014

У меня были похожие проблемы. Сработало после того, как я сделал следующее вместо однострочной установки пакета:

sudo su
R

затем в R выполните:

install.packages('shiny', repos='http://cran.rstudio.com/')
library(shiny)
person Jan Stanstrup    schedule 22.05.2014
comment
Спасибо за Ваш ответ. К сожалению, это не помогло. Кажется, я не могу установить / загрузить какой-либо пакет. install.packages('shiny', repos='http://cran.rstudio.com/') Installing package into ‘/usr/local/lib/R/site-library’ но просмотр / usr / local / lib / R / site-library говорит мне, что он пуст. / usr / local / lib / R / site-library находится в .libPaths () - person Smackboyg; 22.05.2014
comment
Я не могу комментировать другую ветку, поэтому поместил ее здесь. Чтобы просмотреть разрешения для папок внутри папок пакетов, выполните следующие действия: ls -la "/usr/local/lib/R/site-library" "/usr/lib/R/site-library" "/usr/lib/R/library" Чтобы просмотреть разрешения для самих папок, выполните ls -la /usr/local/lib/R/" "/usr/lib/R/" "/usr/lib/R/" - person Jan Stanstrup; 23.05.2014

Я тоже новичок в Ubuntu, и у меня были похожие проблемы. В моем случае проблема заключалась в том, что пакеты R были установлены в папки, принадлежащие пользователю ubuntu. Однако они должны быть доступны корню.

Я сменил пользователя на root с помощью соответствующей команды, а затем запустил функцию install.packages из R

sudo -i
R

Надеюсь, это поможет вам на вашем пути. По крайней мере, ваша проблема не уникальна. Я нашел много полезных советов, просто погуглил. Например.:

http://freigeist.devmag.net/r/773-deploying-shiny-server-on-amazon-some-troubleshoots-and-solutions.html.

person user3819568    schedule 21.07.2014