R Shiny“R_ZIPCMD”路径压缩错误

时间:2017-03-10 23:07:46

标签: r ubuntu shiny zip shiny-server

我在Ubuntu 16.04的R Shiny服务器上有2个正在运行的应用程序。两者都进行一些数据操作(例如清理,连接表等),然后将输出转储为带有类似函数的Excel文件,

dumpExcel <- function(matched, non_matched=NULL, fileName, out_format='xlsx') {
    if (out_format == 'xlsx') {
        library(openxlsx)
        output <- createWorkbook()
        addWorksheet(output, "matched")
        if (!(is.null(non_matched))) { addWorksheet(output, "non_matched") }
        writeData(output,"matched", matched, colNames = T)
        if (!(is.null(non_matched))) { writeData(output,"non_matched", non_matched, colNames = T) }
        FileName = fileName
        saveWorkbook(output, FileName, overwrite = T)
        return(output)
    } else if (out_format == 'csv') {
        write.csv(matched, gsub('.xlsx', '.csv', fileName), row.names=F)
    }
}

对于第一个应用程序,此功能完美运行。对于第二个,它工作得很好,但不知道现在不是,并抛出下面的错误,

Error in : zipping up workbook failed. Please make sure Rtools is installed or a zip application is available to R.
     Try installr::install.rtools() on Windows. If the "Rtools\bin" directory does not appear in Sys.getenv("PATH") please add it to the system PATH 
     or set this within the R session with Sys.setenv("R_ZIPCMD" = "path/to/zip.exe")

我之前尝试添加了行Sys.setenv(R_ZIPCMD = "/usr/bin/zip"),但它没有用。为什么这个应用程序会抛出此错误,而同一台服务器/机器中的另一个工作正常?

非常感谢任何帮助...

2 个答案:

答案 0 :(得分:1)

尝试在server.R中添加Sys.setenv(R_ZIPCMD = "/usr/bin/zip")(在加载库之后,在shinyServer(function(...块之前。这对我有用。

答案 1 :(得分:0)

原来这是一个记忆问题。可用内存约为200MB,将其增加到> 1GB,问题就解决了。