当前位置: 首页 > 知识库问答 >
问题:

node.js - 为什么使用Vite创建的项目在npm run dev时报错crypto.hash不是函数?

小牛23925
2025-07-01

最近使用npm的命令创建一个vite项目执行了npm i安装了包,但是执行npm run dev出现了以下错误
图片.png

我的node版本是
图片.png

安装项目的命令是 npm create vite@latest
不知道为啥会这样,难定是node的版本问题还是vite版本太高了导致的,这个我还没测试过

错误:
error when starting dev server:
TypeError: crypto.hash is not a function

at getHash (file:///D:/learning_projects/vue-test/node_modules/vite/dist/node/chunks/dep-Bsx9IwL8.js:2834:21)
at getLockfileHash (file:///D:/learning_projects/vue-test/node_modules/vite/dist/node/chunks/dep-Bsx9IwL8.js:11716:9)
at getDepHash (file:///D:/learning_projects/vue-test/node_modules/vite/dist/node/chunks/dep-Bsx9IwL8.js:11719:23)
at initDepsOptimizerMetadata (file:///D:/learning_projects/vue-test/node_modules/vite/dist/node/chunks/dep-Bsx9IwL8.js:11180:53)
at createDepsOptimizer (file:///D:/learning_projects/vue-test/node_modules/vite/dist/node/chunks/dep-Bsx9IwL8.js:34593:17)
at new DevEnvironment (file:///D:/learning_projects/vue-test/node_modules/vite/dist/node/chunks/dep-Bsx9IwL8.js:35357:109)
at Object.defaultCreateClientDevEnvironment [as createEnvironment] (file:///D:/learning_projects/vue-test/node_modules/vite/dist/node/chunks/dep-Bsx9IwL8.js:35776:9)
at _createServer (file:///D:/learning_projects/vue-test/node_modules/vite/dist/node/chunks/dep-Bsx9IwL8.js:28359:132)
at async CAC.<anonymous> (file:///D:/learning_projects/vue-test/node_modules/vite/dist/node/cli.js:573:18)

安装不同的版本项目,js或者ts的版本项目,react和vue的项目都不行都是运行的时候出现这个问题,只要是基于vite创建的都会出现这个问题

共有3个答案

霍浩皛
2025-07-01

这个报错通常是node版本号不对

邹山
2025-07-01

crypto.hash 在 node 版本 v21.7.0v20.12.0 之后可用

升级你的 node 或者降级你的 vite

经兴安
2025-07-01

https://github.com/vitejs/vite/blob/ac528a44c384fefb6f10c3f531df93b5ac39324c/packages/vite/package.json#L57

最新版本的 vite 需要高版本 node

  "engines": {
    "node": "^20.19.0 || >=22.12.0"
  },
 类似资料: