解决 error when starting dev server TypeError crypto$2.getRandomValues

1,474 阅读1分钟

1. 前言

当使用 vite 创建 vue 项目的时候,使用 npm run dev 启动创建项目的时候报错。

2. 错误提示

error when starting dev server:
TypeError: crypto$2.getRandomValues is not a function

3. 错误截图

输入图片说明

4. 错误原因

在启动项目时遇到 crypto$2.getRandomValues 问题,一般都是由于 node 版本太低导致的。解决办法,安装一个高版本的 node,或者使用 nvm 切换一个高版本的 node。

5. nvm 切换高版本

5.1 当前版本

输入图片说明

5.2 切换到高版本

输入图片说明

6. 问题解决

6.1 启动成功

输入图片说明

6.2 页面访问

输入图片说明

7. 总结

  1. 找到报错的原因,如果是浏览器环境,那么就可能是浏览器环境不支持 crypto.getRandomValues 方法,可以考虑安装 npm install crypto-browserify --save-dev 库来解决浏览器兼容性;
  2. 由于我是在启动项目时报错,还没有到浏览器访问,因此就是启动的 node 环境存在问题;
  3. 说明当前 node 环境版本太低导致的,升级 node 的版本,就能解决;
  4. 升级 node 版本的两种方法,方案一:安装一个高版本的 node;方案二:使用 nvm 进行 node 版本管理,切换一个高版本(不一定使用 nvm,其他 node 版本管理器一样,只是我使用的是 nvm 版本管理器,所以直接使用它进行了演示)。