全部
常见问题
产品动态
精选推荐

如何处理 Node 报错 Error: error:0308010c

管理 管理 编辑 删除

如果你使用 Node.js 和命令行界面解决方案,如 Webpack、create-react-app 或 vue-cli-service,你可能已经遇到了这个错误,Error: error:0308010c:digital envelope routines::unsupported.

你并不孤单,因为我现在也遇到了:

7d8bc202302271039346484.png

React 应用程序确实未能启动:

54601202302271039489627.png

在这篇文章中,你将学习如何通过 3 种方式来解决这个错误。但首先,让我们讨论一下导致该错误的原因。

什么原因导致 “0308010c:digital envelope routines::unsupported” 的错误?

你遇到这个错误的可能原因主要有两个:

  • 你没有使用 Node JS 的 LTS(长期支持)版本。你可以看到我使用的是 Node 17.0.0,这不是 Node 的 LTS 版本。
  • 你使用的 react-script 的版本小于 5。

这个错误也可能发生,因为你使用的是Node 17。

如何解决 “0308010c:digital envelope routines::unsupported” 的错误

你至少有 3 种方法可以解决这个错误。我们将一个一个地看。任何一个都应该对你有用。

将 --openssl-legacy-provider 传递给 Webpack 或 CLI 工具

例如,在 React 应用程序中,你可以将 --openssl-legacy-provider 传递给启动脚本,如 "react-scripts --openssl-legacy-provider start"

这应该就可以了。但是,如果这不能修复错误,那么就进行下一个修复。在许多情况下,它是有效的。

使用 Node JS  的 LTS 版本

考虑将你的 Node 版本降级到 16.16.0 或其他 LTS 版本。

目前,Node 的最新 LTS 版本是 18.12.1。你可以从 Node JS 官方网站下载它,或者使用 NVM 来安装它。

将 React 脚本升级到 5 以上版本

如果你正在使用 React,而这仍然无法为你解决错误,那么这很可能是你的 React 脚本的问题。

如果你使用的 React 脚本版本低于 5,那么你应该把它升级到 5+ 版本。

就我而言,我目前使用的是 react-scripts 3.4.3:

0f712202302271040021622.png

要将 react-scripts 升级到 5+,你可以通过两种方式进行:

卸载并重新安装 react-scripts

  • 打开终端,运行 npm uninstall react-scripts
  • 运行 npm install react-scripts

手动改变 react 脚本的版本

  • 进入你的 package.json,将 react-script 版本改为 5.0.2
  • 通过运行 rm –rf node_modules 删除 node_modules 文件夹
  • 通过运行 rm –rf package.lock.json 来删除 package.lock.json 文件
  • 运行 npm installyarn add,这取决于你所使用的软件包管理器

在将 react-scripts 的版本升级到 5+ 之后,我的 React 应用程序现在可以正常工作了:

4e3ae202302271040127483.png

14c5a20230227104023773.png

总结

正如上文指出的,如果你收到 “0308010c:digital envelope routines::unsupported” 的错误,那么可能是你没有使用 Node JS 的 LTS 版本,或者你使用的 react-scripts 版本小于 5。

希望我们在本教程中讨论的修复方法能帮助你解决这个错误。如果其中一个修复方法不起作用,那么你可以尝试其他方法。在我的例子中,将 react-scripts 升级到 5 以上就行了。

请登录后查看

CRMEB-慕白寒窗雪 最后编辑于2023-02-27 10:41:34

快捷回复
回复
回复
回复({{post_count}}) {{!is_user ? '我的回复' :'全部回复'}}
排序 默认正序 回复倒序 点赞倒序

{{item.user_info.nickname ? item.user_info.nickname : item.user_name}} LV.{{ item.user_info.bbs_level }}

作者 管理员 企业

{{item.floor}}# 同步到gitee 已同步到gitee {{item.is_suggest == 1? '取消推荐': '推荐'}}
{{item.is_suggest == 1? '取消推荐': '推荐'}}
沙发 板凳 地板 {{item.floor}}#
{{item.user_info.title || '暂无简介'}}
附件

{{itemf.name}}

{{item.created_at}}  {{item.ip_address}}
{{item.like_count}}
{{item.showReply ? '取消回复' : '回复'}}
删除
回复
回复

{{itemc.user_info.nickname}}

{{itemc.user_name}}

回复 {{itemc.comment_user_info.nickname}}

附件

{{itemf.name}}

{{itemc.created_at}}
{{itemc.like_count}}
{{itemc.showReply ? '取消回复' : '回复'}}
删除
回复
回复
查看更多
4008
{{like_count}}
{{collect_count}}
添加回复 ({{post_count}})

相关推荐

快速安全登录

使用微信扫码登录
{{item.label}} 加精
{{item.label}} {{item.label}} 板块推荐 常见问题 产品动态 精选推荐 首页头条 首页动态 首页推荐
取 消 确 定
回复
回复
问题:
问题自动获取的帖子内容,不准确时需要手动修改. [获取答案]
答案:
提交
bug 需求 取 消 确 定

微信登录/注册

切换手机号登录

{{ bind_phone ? '绑定手机' : '手机登录'}}

{{codeText}}
切换微信登录/注册
暂不绑定
CRMEB客服

CRMEB咨询热线 咨询热线

400-8888-794

微信扫码咨询

CRMEB开源商城下载 源码下载 CRMEB帮助文档 帮助文档
返回顶部 返回顶部
CRMEB客服