1

我正在尝试托管使用shinyapps.ioggvis上的库的闪亮应用程序。上传我的应用程序时,该功能在构建托管应用程序所需的包时失败。安装ggvis使用的dplyr时出现错误。Dplyr 反过来使用 Rcpp,虽然它可用,但不会从 RCRAN 检索到正确的版本。runApp()

有人可以帮我吗?有没有办法手动指定包版本来规避这个问题?

重现问题所需的 R 代码和步骤:

## ui.R
shinyUI(bootstrapPage(
  ggvisOutput("p"),
  uiOutput("p_ui")
))

## server.R
shinyServer(function(input, output, session) {
  input_width <- reactive(input$width)

  mtcars %>% 
    ggvis(~mpg) %>% 
    layer_histograms(width = input_width) %>%
    bind_shiny("ggvis", "ggvis_ui")
})


## When located in folder with ui.R and server.R file:
library("shiny")
library("shinyapps")
deployApp() # command that fails

错误摘录:

...
[2014-10-28T16:05:00.464944786+0000] Building R package: dplyr (0.3.0.2)
/mnt/packages/build /mnt
* installing to library ‘/usr/local/lib/R/site-library’
* installing *source* package ‘dplyr’ ...
** package ‘dplyr’ successfully unpacked and MD5 sums checked
** libs
Error: package ‘Rcpp’ 0.11.2 was found, but >= 0.11.3 is required by ‘dplyr’
* removing ‘/usr/local/lib/R/site-library/dplyr’
################################### End Log ################################### 
Error: Unhandled Exception: Child Task 2477816 failed: Error building image: Error building dplyr (0.3.0.2). Build exited with non-zero status: 1
Execution halted

会话信息:

> sessionInfo()
R version 3.1.1 (2014-07-10)
Platform: x86_64-w64-mingw32/x64 (64-bit)

locale:
[1] LC_COLLATE=English_United States.1252  LC_CTYPE=English_United States.1252        LC_MONETARY=English_United States.1252 LC_NUMERIC=C                          
[5] LC_TIME=English_United States.1252    

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

1 回答 1

1

讯息

错误:找到包 'Rcpp' 0.11.2,但 'dplyr' 需要 >= 0.11.3</p>

表示您使用的是旧版本的 R(可能是 3.0.2?),它在仅包含 Rcpp 0.11.2 的树中搜索。

修复很简单:升级 R。然后安装你的依赖项,包括最新版本的Rcppwith install.packages("Rcpp")

于 2014-10-28T19:12:39.087 回答