在Ubuntu上安装R - shiny服务器

5

我对R、Shiny、Shiny Server和Ubuntu 12.04都比较陌生。经过了一天的努力,我几乎把所有东西都弄好了,只剩下让shiny-server来托管我的应用程序了。我正在尝试本地托管我的应用程序。

这是我的错误信息:

Error in library(ggplot2) : there is no package called ‘ggplot2’ Calls: runApp ...
startAppDir -> sys.source -> eval -> eval -> library 
Execution halted

以下是由 >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              
 [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] grid      stats     graphics  grDevices utils     datasets  methods  
[8] base     

other attached packages:
[1] gridExtra_0.9.1 shiny_0.9.1     ggplot2_0.9.3.1

loaded via a namespace (and not attached):
 [1] bitops_1.0-6       caTools_1.16       colorspace_1.2-4   dichromat_2.0-0   
 [5] digest_0.6.4       gtable_0.1.2       httpuv_1.2.3       labeling_0.2      
 [9] MASS_7.3-30        munsell_0.4.2      plyr_1.8.1         proto_0.3-10      
[13] RColorBrewer_1.0-5 Rcpp_0.11.1        reshape2_1.2.2     RJSONIO_1.0-3     
[17] scales_0.2.3       stringr_0.6.2      tcltk_3.0.3        tools_3.0.3       
[21] xtable_1.7-3      
> 

我在没有使用shiny-server的情况下进行了测试,应用程序正常运行。

runApp("/var/shiny-server/www/examples/MY_APP/")

我也测试过shiny-server自带的示例,它们可以正常工作,但它们没有使用ggplot2。
ggplot2显然已经安装,因此我怀疑这是权限问题(?),但我不知道如何解决它...
谢谢你的帮助!
*解决方案* 使用.libPaths(),我能够确定由...安装的自定义包
>install.packages("ggplot2")

放置在主目录中

/home/USER/R/x86_64-pc-linux-gnu-library/3.0/ggplot2

我需要将文件夹 '~3.0/' 中的每个文件都复制到:

/usr/local/lib/R/site-library

现在它能工作了!谢谢:D

1
你确定在目标Shiny服务器上安装了ggplot2(和任何其他非基础包)吗?我尝试将它们安装为shiny用户,以使其自包含,但它们也可以在站点范围的R软件包目录中。 - hrbrmstr
我使用 R 终端进行了下载,并安装到默认位置... 我该如何做? - Soran
看看这个链接是否有帮助:https://dev59.com/3XHYa4cB1Zd3GeqPHBCZ - hrbrmstr
2个回答

4

尝试将ggplot2包安装到系统目录(而非本地用户目录),只需运行以下命令:

sudo R
(within R session)
install.packages('ggplot2')

由于 shiny 可能在不同的用户名下运行,因此它可能无法访问您本地安装的 R 库。


我尝试了这个,但错误仍然存在。我该如何找到安装包的位置以检查用户? - Soran

0

尝试:

install.packages("ggplot2", lib=.Library, dependencies=T)

问题在于默认的安装目录是 .libPaths() 中第一个出现的目录,这将是一个不被 Shiny 用户共享的主目录。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接