解决 opensslErrorStack: [ ‘error:03000086:digital envelope routines::initialization error‘ ]错误

1. 复现错误


今天下载好ant-vue的项目,使用npm run serve启动时,却报出如下错误:

在这里插入图片描述

error:0308010C:digital envelope routines::unsupported

2. 分析错误


最近文心一言的账号审核通过,可以借助它来帮我分析错误:

在这里插入图片描述

文心一言指出,这是指针偏移解析度的错误。

我只是下载完代码,使用npm run serve启动,怎么就指针偏移了呢?

于是,通过查询其他资料,在package.json里添加环境变量export NODE_OPTIONS=--openssl-legacy-provider;,如下代码所示:

 "scripts": {
    
    
    "serve": "export NODE_OPTIONS=--openssl-legacy-provider;vue-cli-service serve",
    "build": "export NODE_OPTIONS=--openssl-legacy-provider;vue-cli-service build",
    "lint": "vue-cli-service lint"
  },

在这里插入图片描述

使用npm run serve启动时,却报出如下错误:

在这里插入图片描述

'export' 不是内部或外部命令,也不是可运行的程序或批处理文件。

这种方法仍然无法解决我的问题,但从某篇博文的评论中解决了我的问题。

3. 解决错误


直接把全部scrips:{}替换成如下值:

...
"scripts": {
    
    
  "dev": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve",
  "serve": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve",
  "lint": "eslint --ext .js,.vue src",
  "build:prod": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service build",
  "build:stage": "vue-cli-service build --mode staging",
  "preview": "node build/index.js --preview",
  "new": "plop",
  "svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml",
  "test:unit": "jest --clearCache && vue-cli-service test:unit",
  "test:ci": "npm run lint && npm run test:unit"
},
...

在这里插入图片描述

重新使用npm run serve启动项目,方可成功启动,如下图所示:

在这里插入图片描述

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/lvoelife/article/details/130487145