Ubuntu下安装Deno+Vite遇getReport未定义TypeError错误求助
Deno 1.38.4 + Vite 启动报错:Cannot read properties of undefined (reading 'getReport')
环境信息
- 系统:Ubuntu 22.04 Jammy Jellyfish
- Deno版本:1.38.4
- 操作场景:按照官方文档搭建Deno + Vue(基于Vite)环境,执行启动命令时触发错误
错误日志
Task dev deno run -A --node-modules-dir npm:vite error: Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'getReport') at isMusl (file:///home/bbabinski-a/Documents/Udemy/quasar-vite/node_modules/.deno/rollup@4.6.0/node_modules/rollup/dist/native.js:5:30) at getPackageBase (file:///home/bbabinski-a/Documents/Udemy/quasar-vite/node_modules/.deno/rollup@4.6.0/node_modules/rollup/dist/native.js:53:28) at Object.<anonymous> (file:///home/bbabinski-a/Documents/Udemy/quasar-vite/node_modules/.deno/rollup@4.6.0/node_modules/rollup/dist/native.js:28:21) at Object.<anonymous> (file:///home/bbabinski-a/Documents/Udemy/quasar-vite/node_modules/.deno/rollup@4.6.0/node_modules/rollup/dist/native.js:81:4) at Module._compile (node:module:733:34) at Object.Module._extensions..js (node:module:747:10) at Module.load (node:module:658:32) at Function.Module._load (node:module:539:12) at Module.require (node:module:677:19) at require (node:module:791:16)
解决方案
1. 升级Deno到1.39.0及以上版本
该错误是Deno 1.38.x版本与Rollup 4.x的兼容性问题,Deno 1.39.0及后续版本已修复Node兼容层对process.report的支持缺失问题。执行升级命令:
deno upgrade
升级完成后重新运行启动命令:
deno run -A --node-modules-dir npm:vite dev
2. 锁定Rollup版本为3.x(临时兼容方案)
若暂时无法升级Deno,可通过deno.json强制指定Rollup版本:
- 创建或修改项目根目录下的
deno.json:
{ "nodeModulesDir": true, "npm": { "packageJson": { "devDependencies": { "rollup": "^3.29.4" } } } }
- 删除本地生成的
node_modules/.deno目录:
rm -rf node_modules/.deno
- 重新执行启动命令。
3. 补全启动命令的dev参数
官方文档的完整启动命令需要包含dev参数(用于触发Vite的开发服务器模式),之前的命令可能缺少该参数导致逻辑异常,正确命令应为:
deno run -A --node-modules-dir npm:vite dev
错误原因
Rollup 4.x新增了对process.report.getReport()的调用,但Deno 1.38.x的Node兼容层未实现该API,导致process.report为undefined,进而触发读取getReport属性的类型错误。
内容的提问来源于stack exchange,提问作者Bogdan
相关产品推荐
相关产品推荐

