R Markdown渲染报错:Input must be a vector, not an environment
Rmd渲染word_document时报错:Input must be a vector, not an environment
你运行的基础Rmd代码如下:
--- title: "Report" author: "Author" date: "12/16/2022" output: word_document --- ```{r setup, include=FALSE} knitr::opts_chunk$set(echo = TRUE)
渲染时触发报错: > processing file: Testing.Rmd > Error in `stop_vctrs()`: > ! Input must be a vector, not an environment. > Backtrace: > 1. rmarkdown::render(...) > 2. vctrs:::stop_scalar_type(`<fn>`(`<env>`), "") > 3. vctrs:::stop_vctrs(msg, "vctrs_error_scalar_type", actual = x) > Execution halted ### 排查与解决方向 - 修复vctrs包版本兼容问题:这个错误大多是vctrs包与rmarkdown/knitr的依赖冲突导致。 - 先尝试安装最新版vctrs: ```r install.packages("vctrs") ``` - 若最新版仍报错,回退到稳定旧版本(如0.5.2): ```r packageurl <- "https://cran.r-project.org/src/contrib/Archive/vctrs/vctrs_0.5.2.tar.gz" install.packages(packageurl, repos=NULL, type="source") ``` - 更新核心渲染包:确保rmarkdown和knitr为最新版本,避免依赖脱节: ```r install.packages(c("rmarkdown", "knitr"))
纯净环境重试:重启R会话(不要加载任何自定义变量或环境),直接执行
rmarkdown::render("Testing.Rmd"),排除环境残留干扰。检查系统编译环境:Windows用户需确保安装了对应版本的RTools且配置正确;Mac/Linux用户确认gcc等编译工具完整可用。
内容的提问来源于stack exchange,提问作者SpookyDLX
相关产品推荐
相关产品推荐

