反转基因福娃 发表于 2025-1-4 02:45:50

node版本过高导致vue-cli项目无法运行(Error: error:0308010C:digital enve

目录
解决方案一:
解决方案二:
解决方案三(推荐):
1、nvm下载
2、安装nvm
3、配置路径和下载镜像
4、检查nvm是否安装成功
5.使用nvm安装node版本
6.安装步骤
6.1安装指定版本
6.2下载多个node版本
6.3切换版本
6.4删除某个node版本

控制台报错信息:
Error: error:0308010C:digital envelope routines::unsupported
    at new Hash (node:internal/crypto/hash:71:19)
    at Object.createHash (node:crypto:133:10)
    at module.exports (D:\project\cylink-ui\node_modules\webpack\lib\util\createHash.js:135:53)
    at D:\project\cylink-ui\node_modules\graceful-fs\graceful-fs.js:123:16
    at FSReqCallback.readFileAfterClose (node:internal/fs/read_file_context:68:3) {
opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ],
library: 'digital envelope routines',
reason: 'unsupported',
code: 'ERR_OSSL_EVP_UNSUPPORTED'
}

Node.js v20.13.0 由于node版本过高,导致vue-cli项目运行报错。报错信息如下:
https://i-blog.csdnimg.cn/direct/d5b0513f8f544485933b77e0077ddca6.png
解决方案一:

在每次项目启动前,输入配置指令:
set NODE_OPTIONS=--openssl-legacy-provider https://i-blog.csdnimg.cn/direct/8012df50561e4f0e965a311aeda657a6.png
解决方案二:

修改package.json文件:
修改前:
https://i-blog.csdnimg.cn/direct/8a442d1d2f5f4df4b53158a1a93ed894.png
修改后:
https://i-blog.csdnimg.cn/direct/d77b0e48c7b44cbd8f8508848a4098e2.png
修改内容:
"dev": "set NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve --open",
"build:prod": "set NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service build --report",
"build:stage": "set NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service build --mode staging",
"preview": "set NODE_OPTIONS=--openssl-legacy-provider && node build/index.js --preview", 在方案二中也可以只修改dev那一行代码,亲测也是成功的:
代码如下:
"dev": "set NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve", 解决方案三(推荐):

使用nvm来管理node版本,需要先把之前下载的node删除干净,把相关的文件夹也要删除
   nvm(node.js version management),是一个nodejs的版本管理工具。nvm和n都是node.js版本管理工具,为相识决node.js 各种版本存在不兼容征象 可以通过它可以安装和切换不同版本的node.js。【可同时在一个情况中安装多个node.js版本(和配套的npm)】
1、nvm下载

官网下载nvm包:Releases · coreybutler/nvm-windows
https://i-blog.csdnimg.cn/direct/427e62ce1c3e44c2b0a79989a701886f.png
2、安装nvm

https://i-blog.csdnimg.cn/direct/0b18c5949c8c45e1b21245f58c62d463.png
上面nvm和nodejs默认安装地址都是C盘,最好换成其他的盘,并且注意安装路径的文件夹名称不要出现中文,空格等,否则后期npm使用的时间会出现符号格式不正确题目。
更改后点击下一步即可
3、配置路径和下载镜像

下载源:(第一个是node下载镜像,第二个是npm下载镜像)
node_mirror: https://npmmirror.com/mirrors/node/
npm_mirror: https://npmmirror.com/mirrors/npm/ 找到nvm安装的路径中的setting文件,新增下面两行信息,配置下载源
https://i-blog.csdnimg.cn/direct/0e2a960cfe744e9c9e79fa7fdad6edf0.png
双击进去即可:
在下面把下载源复制进去:
https://i-blog.csdnimg.cn/direct/479aebf2dc604d03861aba218722efd3.png
然后保存退出即可
4、检查nvm是否安装成功

win+R调出终端,输入nvm,出现下面的就已经安装成功了
https://i-blog.csdnimg.cn/direct/a5bb0520615c43398716da0fa6bf5bce.png
5.使用nvm安装node版本

也是cmd调出终端,起首使用nvm list available查询可插入的版本号,LST代表可插入稳定版本,如果没有指定版本,发起使用LTS下的版本
https://i-blog.csdnimg.cn/direct/49610d3c23874ed08ab26a6972ae8201.png
6.安装步骤

6.1安装指定版本

nvm install 16.13.0
现在而言发起不要安装太高的版本,很多老的项目使用的node版本还是很低的,这里我下载的是16.13.0的
安装完成后可以分别输入命令行 node -v 和 npm -v,检验node.js以及对应npm是否安装成功
https://i-blog.csdnimg.cn/direct/e1c066a47b624cf1bd7af1f3bd6dc174.png
6.2下载多个node版本

在nvm中你可以下载多个node版本,下载方式和前面就是一样的了
6.3切换版本

nvm list 查看当前已安装的node版本,带有 * 的是正在使用的版本
nvm list或者nvm ls
https://i-blog.csdnimg.cn/direct/2371a7bc1c5b499d96a8524b35ce077d.png
nvm use 切换node版本。(如果报错,用管理员身份打开重新 nvm use 你指定的版本)
nvm use 16.13.0 6.4删除某个node版本

nvm uninstall node版本号//例如:nvm uninstall 16.14.0)即可删除对应版本


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: node版本过高导致vue-cli项目无法运行(Error: error:0308010C:digital enve