R Shiny Server安装包

Sma*_*oyg 7 install packages r shiny shiny-server

可能的重叠:
闪亮服务器
R闪亮/闪亮服务器中缺少软件包- 查找软件包的问题
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/')\""
Run Code Online (Sandbox Code Playgroud)

Shiny Server已正确安装并正常运行,

~# sudo start shiny-server
start: Job is already running: shiny-server
Run Code Online (Sandbox Code Playgroud)

但当我浏览到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"
Run Code Online (Sandbox Code Playgroud)

任何帮助是极大的赞赏


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
Run Code Online (Sandbox Code Playgroud)

Bas*_*ast 8

问题是,闪亮的服务器找不到您安装的软件包,因为它将它们作为一个不同的用户运行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.

从我的回答改编这里


Box*_*uan 5

我有类似的问题。阅读管理指南后,这可能是适合您的解决方案。

您遇到此错误是因为访问该应用程序的人没有shiny安装该软件包。如果您这样做less /etc/shiny-server/shiny-server.conf,您可能会注意到前两行有以下内容:

# Instruct Shiny Server to run applications as the user "shiny"
run_as shiny;
Run Code Online (Sandbox Code Playgroud)

为了解决该问题,您可以执行以下任一操作:

  • 切换到用户shiny并安装所有软件包。例如,su shiny。但是,这将为所有用户复制您安装的库。
  • 一种干净的方法是始终shiny从另一个用户运行所有包,通过run_as/etc/shiny-server/shiny-server.conf. 在这种情况下,您可以将第二行更改为run_as your_username shiny;,以便它查找 your .libPaths(),然后查找shiny's .libPaths()。您还可以在此处添加多个用户。


Jan*_*rup 0

我也有类似的烦恼。在我执行以下操作而不是单行安装软件包后,工作正常:

sudo su
R
Run Code Online (Sandbox Code Playgroud)

然后在 R 中执行:

install.packages('shiny', repos='http://cran.rstudio.com/')
library(shiny)
Run Code Online (Sandbox Code Playgroud)