Я пишу пакет R, используя plumber
. Основной код:
#' @title startServer
#' @description Start the api server on port `port`
#'
#' @param port Port number
#' @return none
#' @examples
#' startServer(8000)
#' @export
startServer <- function(port) {
port <- if (port == "")
port = "8000"
router_some <- plumber$new("R/some.R")
router <- plumber$new()
router$mount("/some", router_some)
router$run(host = '0.0.0.0',
port = strtoi(port),
swagger = TRUE)
}
Этот код работает нормально, если я запускаю его из консоли R:
startServer("8000")
Running plumber API at http://0.0.0.0:8000
Loading required namespace: swagger
Running Swagger UI at http://127.0.0.1:8000/__swagger__/
Однако всякий раз, когда я запускаю check()
:
checking examples ... ERROR
Running examples in ‘...’ failed
The error most likely occurred in:
> base::assign(".ptime", proc.time(), pos = "CheckExEnv")
> ### Name: startServer
> ### Title: startServer
> ### Aliases: startServer
>
> ### ** Examples
>
> startServer(8000)
Error in .subset2(public_bind_env, "initialize")(...) :
File does not exist: R/some.R
Calls: startServer -> <Anonymous> -> <Anonymous>
Execution halted
файл с маршрутами больше не найден. Как указать на правильный файл (ы)?
Я знаю, что мог бы использовать plumber
программно, но, похоже, я потерял правильную генерацию файла чванства (без параметров).