开发环境
node v18.4.0
npm 9.2.0
npm run serve 启动报错信息:
第一种解决方法:
在运行窗口运行如下代码,修改环境变量
$env:NODE_OPTIONS=“–openssl-legacy-provider”
如上图 先在你运行的项目下 输入
$env:NODE_OPTIONS=“–openssl-legacy-provider”
然后在npm run serve
第二种解决方法:
在package.json文件中把启动的命令添加一段代码 如下:
添加代码:set NODE_OPTIONS=–openssl-legacy-provider
然后重新启动命令即可
第三种解决方法:
首先咱们要知道出现此报错是什么问题,
Error: error:0308010C:digital envelope routines::unsupported 翻译过来是 错误:0308010C:数字信封例程::不受支持 个人从字面理解是 在启动项目时 某一命令不支持 可能是node版本或者是某一个依赖的问题 碰巧的是 在真的搜到, 原文解释的是因为 node.js V17版本中最近发布的OpenSSL3.0, 而OpenSSL3.0对允许算法和密钥大小增加了严格的限制,可能会对生态系统造成一些影响.
那我们就明白了 只要node版本降低到17以下就可以了 ,
首先cmd打开命令行 node -v 看下node版本是否在16以上
其次在此电脑搜索 node。卸载node 重新安装17以下的node版本/ 或者使用nvm 切换相应的node版本
课外知识:node、nvm、npm、npx、nrm 之间的关系 详细来自:https://juejin.cn/post/7000652162950758431