在 Rscript 中使用水管工包,在 cmd 中使用 运行 脚本

using plumber package in Rscript and running script from cmd

在我的 Rscript (run.R) 中:

library(plumber)
r <- plumb("script.R")
r$run(host="127.0.0.1",port=8000)

如果我 运行 使用 RStudio 或 R 控制台的上述代码它工作正常并在以下输出后允许我访问:

Starting server to listen on port 8000 Running the swagger UI at http://127.0.0.1:8000/swagger/

但是当我尝试使用 Rscript 运行 与 .R 文件相同的代码时,R CMD BATCH,R < run.R, pm2 它卡在了;

Starting server to listen on port 8000

在访问地址时,我收到 404:找不到资源错误。另外,请注意,我想 运行 在 windows 上执行此操作,因此没有尝试 littler。任何想法,我在这里做错了什么。谢谢!

run 采用默认为 interactive()swagger 参数。也就是说,如果您 运行 以交互方式进行,它只会启用 swagger。

如果您希望在您的路由器上启用 Swagger,即使在 运行 以编程方式进行时,您也可以将其硬编码为 TRUE

r$run(host="127.0.0.1", port=8000, swagger=TRUE)