我对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
ggplot2
(和任何其他非基础包)吗?我尝试将它们安装为shiny
用户,以使其自包含,但它们也可以在站点范围的R软件包目录中。 - hrbrmstr