centos 上部署shiny-server 由于png没有安装无法绘图,所以对r进行了重新编译。

重新编译后会,再安装packages就会出现:

> install.packages('showtext', lib='/usr/local/lib64/R/library')
Warning in install.packages("showtext", lib = "/usr/local/lib64/R/library") :
  'lib="/usr/local/lib64/R/library"'不可写
Would you like to use a personal library instead? (yes/No/cancel)

> .libPaths()
[1] "/home/python/R/x86_64-pc-linux-gnu-library/3.6"
[2] "/usr/local/lib64/R/library"

所以会把包安装到 /home/python/R/x86_64-pc-linux-gnu-library/3.6 路径下,但是shiny-server不会读取该路径下的packages。会出现包加载失败。

哪位知道如何解决

    CMCai0104

    主要是因为 shiny-server 上绘图会出现中文不显示的问题。

    > sessionInfo()
    R version 3.6.1 (2019-07-05)
    Platform: x86_64-pc-linux-gnu (64-bit)
    Running under: CentOS Linux 7 (Core)
    
    Matrix products: default
    BLAS:   /usr/local/lib64/R/lib/libRblas.so
    LAPACK: /usr/local/lib64/R/lib/libRlapack.so
    
    locale:
     [1] LC_CTYPE=zh_CN.UTF-8       LC_NUMERIC=C              
     [3] LC_TIME=zh_CN.UTF-8        LC_COLLATE=zh_CN.UTF-8    
     [5] LC_MONETARY=zh_CN.UTF-8    LC_MESSAGES=zh_CN.UTF-8   
     [7] LC_PAPER=zh_CN.UTF-8       LC_NAME=C                 
     [9] LC_ADDRESS=C               LC_TELEPHONE=C            
    [11] LC_MEASUREMENT=zh_CN.UTF-8 LC_IDENTIFICATION=C       
    
    attached base packages:
    [1] stats     graphics  grDevices utils     datasets  methods   base     
    
    loaded via a namespace (and not attached):
    [1] compiler_3.6.1

    这是因为有依赖,把 sysfontsshowtextdb 都加上路径显式 library() 一下,顺序是 sysfonts->showtextdb->showtext

      CMCai0104 如果你确定某个包或某些包安装到了某个路径下,那么把那个路径添加到 R 的搜寻路径中即可,如:

      .libPaths("/home/python/R/x86_64-pc-linux-gnu-library/3.6")

      这样后面的 library() 就会自动利用这个路径去找包。

      如果是在 Shiny Server 上安装 R 包,最好是用管理员模式去安装,而不要以普通用户安装:

      sudo su - -c "R -e \"install.packages('showtext')\""

      这样安装的包才是整个系统可见、可用的,否则安装在个人用户的根目录下,就只有那个特定的个人用户可用。如果一定只能安装在个人用户目录下,那么也许可以配置 Shiny Server:https://docs.rstudio.com/shiny-server/#run_as 这方面我不太熟,你自己看文档吧。

        1 年 后

        我和您出现了相同的问题,请问是怎样解决的?求大神指点啊

        7 天 后