r闪亮/闪亮-服务器-查找软件包的问题 [英] R shiny / shiny-server - issue with finding packages

查看:14
本文介绍了r闪亮/闪亮-服务器-查找软件包的问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在一台ubuntu服务器上安装了SHINING和SHINY-SERVER。我在一台正在运行的dev服务器上进行了类似的安装。R会话打开时会加载一些包。这个应用程序在本地运行得很好,但是我收到消息说,当它在SHILINY-SERVER上运行时,它找不到软件包。

应用程序上的错误

During startup - Warning messages:

1: In library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘shiny’
2: package ‘shiny’ in options("defaultPackages") was not found 
3: In library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘data.table’
4: package ‘data.table’ in options("defaultPackages") was not found 
5: In library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘optiRum’
6: package ‘optiRum’ in options("defaultPackages") was not found 
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

在Rprofile.site中我有

# ## Example of Rprofile.site
 local({
#  # add MASS to the default packages, set a CRAN mirror
  old <- getOption("defaultPackages"); r <- getOption("repos")
#  r["CRAN"] <- "http://my.local.cran"
  options(defaultPackages = c(old, "shiny","data.table","optiRum"), repos = r)
})

.First <- function() {
   cat("
   Welcome to R!

")
#    setwd("/home/OPTIMUMCREDIT/R/Projects")
    Sys.umask(mode="0002")
}
.libPaths(c("/home/R/WorkingPackages","/home/R/ApprovedPackages"))

在SHINY-SERVER配置中,我只有默认配置(因此作为SHINY和DEFAULT端口运行)。

My sessionInfo()

> sessionInfo()
R version 3.0.3 (2014-03-06)
Platform: x86_64-pc-linux-gnu (64-bit)

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

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

other attached packages:
[1] ggplot2_0.9.3.1  scales_0.2.3     RCurl_1.95-4.1   bitops_1.0-6     rstudio_0.98.501 optiRum_0.30     data.table_1.9.2 shiny_0.8.0     

loaded via a namespace (and not attached):
 [1] MASS_7.3-29        RColorBrewer_1.0-5 RJSONIO_1.0-3      Rcpp_0.11.0        caTools_1.16       colorspace_1.2-4   dichromat_2.0-0   
 [8] digest_0.6.4       grid_3.0.3         gtable_0.1.2       httpuv_1.2.3       labeling_0.2       munsell_0.4.2      plyr_1.8.1        
[15] proto_0.3-10       reshape2_1.2.2     stringr_0.6.2      tools_3.0.3        xtable_1.7-3

我试图在代码中添加一条消息来输出library(shiny)上面的libPath,但不幸的是,同样的错误消息也出现了。我先卸载并重新安装了一些闪亮的服务器,就像我不寻常地安装了闪亮的服务器一样,然后我记起我需要闪亮的服务器,但不需要快乐。我已经确认SHINY安装在ApprovedPackages中。在装入时,我添加了软件包,希望能绕过问题或找到更多信息。

更新-以SHINY身份运行 啊-情节变得复杂了.在控制台上使用用户shiny登录会导致与应用程序收到的警告相同的警告,而且.libPath()与其他所有人的警告不同:

> sessionInfo()
R version 3.0.3 (2014-03-06)
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
> .libPaths()
[1] "/usr/local/lib/R/site-library" "/usr/lib/R/site-library"
[3] "/usr/lib/R/library"

我有点困惑,希望有人能为我指出解决问题的正确方向。

推荐答案

很抱歉给您带来麻烦。您可以尝试运行以下命令在系统范围内安装SHINY吗?

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

这来自Admin Guide,它(希望)将成为这类问题的有用资源。

我怀疑问题在于您的用户帐户中确实正确安装了SHINY,但是因为它不是作为sudo安装的,所以用户无法使用它。

编辑:

您还需要确保在shiny用户启动R进程时应用Rprofile.site。您可以通过以shiny身份登录来执行此操作:

sudo su shiny
然后打开R并检查.libPaths()或查看是否可以在那里成功运行library(shiny)。如果您无法访问,则可能是让shiny用户进入您的共享软件包目录或Rprofile.site文件(或其父目录)有问题。请确保将shiny用户添加到必要的组中,或者确保这些文件及其所有父目录向shiny用户授予适当的权限。

这篇关于r闪亮/闪亮-服务器-查找软件包的问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆