7

ubuntuサーバーにshinyとshiny-serverをインストールしました。動作している開発サーバーで同様のインストールを行いました。R セッションを開くと、いくつかのパッケージが読み込まれます。アプリはローカルでは問題なく動作しますが、shiny-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("\n   Welcome to R!\n\n")
#    setwd("/home/OPTIMUMCREDIT/R/Projects")
    Sys.umask(mode="0002")
}
.libPaths(c("/home/R/WorkingPackages","/home/R/ApprovedPackages"))

光沢のあるサーバー構成には、デフォルトの構成しかありません(したがって、光沢のあるデフォルトのポートとして実行されます)。

私のセッション情報()

> 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

上記の libPaths を出力するメッセージをlibrary(shiny)コードに追加しようとしましたが、残念ながら同じエラー メッセージが表示されます。少し異常に光沢のあるサーバーを最初にインストールしたので、アンインストールと再インストールを行いましたが、光沢が必要であることに気づきましたが、喜びはありませんでした。ApprovedPackagesにshinyがインストールされていることを確認しました。問題を回避したり、より多くの情報を見つけたりすることを期待して、ロード時のパッケージを追加しました。

更新-光沢 のあるああとして実行-プロットが厚くなります...コンソールでユーザー光沢のあるログインすると、アプリが受け取っていたのと同じ警告が発生し、.libPaths()は他の人のようではありません:

> 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"

私は少し困惑しており、誰かが私を正しい方向に向けて問題を解決できることを望んでいました.

4

1 に答える 1

13

ご迷惑をおかけして申し訳ありません。次のコマンドを実行して、システム全体に Shiny をインストールしてみてください。

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

これは、(願わくば) この種の問題に関する有用なリソースとして役立つ管理者ガイドからのものです。

問題は、Shiny が実際にユーザー アカウントに適切にインストールされていることですが、sudo としてインストールされていないため、ユーザーは使用できませshinyん。

編集:

また、ユーザーが R プロセスを開始したRprofile.siteときにそれが適用されていることを確認する必要があります。shinyこれを行うには、次のようにログインしますshiny

sudo su shiny

次に、R を開いて を確認する.libPaths()か、そこで正常に実行できるかどうかを確認しますlibrary(shiny)。できない場合は、shinyユーザーが共有パッケージ ディレクトリまたはRprofile.siteファイル (またはその親ディレクトリ) にアクセスできることに問題がある可能性があります。shinyユーザーが必要なグループに追加されていること、またはこれらのファイルとそのすべての親ディレクトリがユーザーに適切な権限を付与していることを確認してくださいshiny

于 2014-03-10T14:08:46.837 に答える