vue3+vite运行报错记录:error when starting dev server

在本地开发环境中,执行npminstall(npmi)后运行代码出现错误,但打包运行正常。错误根源在于vite-plugin-optimize-persist和vite-plugin-package-config两个插件的版本不兼容。解决方法是调整这两个插件的版本,确保它们可以协同工作,避免版本依赖问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

场景:拉完代码执行npm i后运行报错,打包运行代码没问题,说明是本地开发环境的问题。

完整报错信息:

原因:vite-plugin-optimize-persist和vite-plugin-package-config版本相互依赖

解决:

 

改为:

 

 

### Vue 开发服务器启动时报 `crypto.getRandomValues` 错误分析 在使用 `npm init vue` 创建的新项目中,在执行 `npm run dev` 启动开发服务器时遇到了 `TypeError: crypto$2.getRandomValues is not a function` 的错误。此问题主要发生在 Node.js 较低版本环境中,特别是在 Node.js 16.x 或更低版本下运行 Vite 构建工具时。 #### 原因解析 该问题是由于 Vite 使用了 Web Crypto API 中的方法 `getRandomValues()`,而这些方法在较旧版本的 Node.js 中可能未被完全支持或实现方式不同所致[^3]。具体来说: - **Node.js 版本差异**:某些加密函数如 `randomUUID` 和 `getRandomValues` 在早期版本中的行为与现代标准不符。 - **依赖库冲突**:当构建工具(如 Vite)期望更高版本的 Node.js 提供的功能时,可能会引发此类类型错误。 #### 解决方案 针对上述情况提供了两种可行的解决方案来解决问题并保持项目的正常运作: ##### 方案一:升级 Node.js 至更新版本 将本地使用的 Node.js 升级到至少 v18 LTS 版本可以有效解决这一兼容性问题。新版本包含了完整的 Web Crypto API 支持以及更好的性能优化特性。 ```bash nvm install 18 nvm use 18 ``` ##### 方案二:调整 Vite 版本至较低稳定版 如果因为环境限制无法立即升级 Node.js,则可以选择降低 Vite 的版本号以匹配当前所用的 Node.js 版本。通过修改 `package.json` 文件指定合适的 Vite 版本范围,并锁定特定的小版本避免后续安装过程中自动更新引起新的不兼容问题。 ```json { "dependencies": { "vite": "^5.4.11" } } ``` 之后再次清理缓存并重新安装依赖项: ```bash rm -rf node_modules/ rm package-lock.json npm cache clean --force npm install ``` 最后重启开发服务验证修复效果: ```bash npm run dev ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值