2017-05-13 25 views
2

で実行したとき、私はダウンロードボタンを提供して光沢のあるアプリを作成しました。これを押すと、マークダウンレポートがhtml形式で作成されます。ここでアプリです:光沢のあるアプリ:「pandoc:データファイルが見つかりませんでした」光沢のあるサーバー

server <- function(input, output) { 
    output$report <- downloadHandler(
    filename = "report.html", 
    content = function(file){ 
     tempReport <- file.path(tempdir(), "report.Rmd") 
     file.copy("report.Rmd", tempReport, overwrite = TRUE) 
     out <- rmarkdown::render(tempReport, output_file = file) 
    } 
) 
} 

ui <- fluidPage(
    downloadButton("report", label=NULL) 
) 

shinyApp(ui = ui, server = server) 

report.Rmdは次のようになります。私はrstudioサーバevrythingからアプリを実行する場合

--- 
output: html_document 
--- 
## Hello 
```{r map} 
leaflet::leaflet() 
``` 

正常に動作します:スタンドアロンのHTMLファイルが作成され、ダウンロードされます。リーフレットマップが含まれています。私は光沢のあるサーバからそれを実行した場合

は、しかし、私が得るすべては次のエラーです:

processing file: report.Rmd 
output file: report.knit.md 

pandoc: Could not find data file /usr/lib64/R/library/leaflet/htmlwidgets/lib/leaflet/ 
Warnung: Error in : pandoc document conversion failed with error 97 
Stack trace (innermost first): 
    53: pandoc_convert 
    52: convert 
    51: rmarkdown::render 
    50: download$func [/srv/shiny-server/biserver/downReport/app.R#7] 
    1: runApp 
Error : An error has occurred. Check your logs or contact the app author for clarification. 

エラーがrmarkdown、光沢のあるサーバーやリーフレットを組み合わせることによってトリガーされるようです。レポートからリーフレットを削除するなどして修正します。

すべてのヘルプは大幅にapreciatedされます。私は光沢のあるサーバーv1.5.3.838(Node.jsののv6.10.0)を使用しています

R version 3.3.3 (2017-03-06) 
Platform: x86_64-redhat-linux-gnu (64-bit) 
Running under: CentOS Linux 7 (Core) 

locale: 
[1] LC_CTYPE=de_DE.UTF-8  LC_NUMERIC=C    
LC_TIME=de_DE.UTF-8  LC_COLLATE=de_DE.UTF-8  
[5] LC_MONETARY=de_DE.UTF-8 LC_MESSAGES=de_DE.UTF-8  
LC_PAPER=de_DE.UTF-8  LC_NAME=C     
[9] LC_ADDRESS=C    LC_TELEPHONE=C    
LC_MEASUREMENT=de_DE.UTF-8 LC_IDENTIFICATION=C  

attached base packages: 
[1] stats  graphics grDevices utils  datasets methods base  

other attached packages: 
[1] shiny_1.0.3 

loaded via a namespace (and not attached): 
[1] Rcpp_0.12.10 digest_0.6.12 rprojroot_1.2 mime_0.5   
R6_2.2.1  xtable_1.8-2 jsonlite_1.4 
[8] backports_1.0.5 magrittr_1.5 evaluate_0.10 stringi_1.1.5 
leaflet_1.1.0 rmarkdown_1.5 tools_3.3.3  
[15] stringr_1.2.0 htmlwidgets_0.8 crosstalk_1.0.0 yaml_2.1.14  
httpuv_1.3.3 htmltools_0.3.6 knitr_1.15.1 

は、ここでのSessionInfo(から私の出力)です。これは私の光沢のある-server.confである:ここ

run_as shiny; 
# Define a server that listens of port 3839. 
server { 
    listen 3839; 

    location/{ 
    site_dir /srv/shiny-server/biserver; 
    log_dir /var/log/shiny-server; 
    } 
} 
+0

再現可能な例をとり、ui.Rとserver.Rファイルを分けてshinyapps.io [here](https://debarros.shinyapps.io/Stack_ShinyPandocError/)に入れてみました。それはうまくいくようです。おそらく問題は光沢のあるサーバーのインストールですか?関連するパッケージを削除して再インストールすることをお勧めします。 –

+0

@PauldeBarros:残念ながらそれは役に立たない。アプリをui.Rとserver.Rに分けても問題は解決しません。 –

+0

別の場所に光沢のあるサーバーがインストールされていますか?もしそうなら、それをテストしてみてください。それはshinyapps.io上で実行されるので、一般的に光沢のあるサーバー上にあるはずです。私は 'sessioninfo()'を表示するようにshinyapps.ioのバージョンを更新しました。興味深いことに、「ロードされた名前空間」リストにリーフレットは表示されません。 –

答えて

0

同じ問題... は解決しました。

光沢のあるサーバーとrstudioサーバがインストールディレクトリに埋め込まれたpandocを持っています。

光沢のあるサーバーの悪いpandocバイナリファイルを削除して、同じ場所の論理リンクを新しいpandocバージョンにするか、私の場合は動作しているローカルrstudioサーバーのpandocバージョンを使用しました。

+0

ありがとう!魅力のように動作します。 –

関連する問題