5

我对 R、Shiny、Shiny Server 和 Ubuntu 12.04 还很陌生。经过漫长的一天后,除了让闪亮的服务器托管我的应用程序之外,我几乎可以正常工作。我正在尝试在本地托管我的应用程序。

这是我的错误:

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      
> 

我在没有闪亮服务器的情况下进行了测试,该应用程序运行良好

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

我还测试了闪亮服务器附带的示例,它们工作正常,但不使用 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

4

2 回答 2

4

尝试ggplot2通过运行将软件包安装到系统目录(不是本地用户目录)

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

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

于 2014-03-27T19:07:01.593 回答
0

尝试:

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

问题是默认安装目录是 中的第.libPaths()一个目录,这将是闪亮用户不共享的主目录站点。

于 2015-10-12T18:15:15.827 回答