ZBLOG

ModuleBuildError: Module build failed (from ./node_modules/mini-css-extract-plugin/dist/loader.js): HookWebpackError: Module build failed (from ./node_modules/thread-loader/dist/cjs.js): Thread Loader (Worker 0) error:0308010C:digital envel...

这个错误提示的核心是 Node.js 与某些依赖库之间的不兼容性,尤其是在使用 Webpack、Babel 和其他相关工具时。

你遇到的 error:0308010C:digital envelope routines::unsupported 错误通常与 OpenSSL 的设置有关,特别是在 Node.js 17.x 及以上版本中。以下是一些更具体的解决方案,可以帮助你解决问题:

1. 使用 Legacy OpenSSL Provider

在 Node.js 17.x 或更高版本中,你可以通过设置环境变量来强制使用旧版 OpenSSL 提供程序。这种方式通常有效。尝试以下命令:

在 Windows 上:

set NODE_OPTIONS=--openssl-legacy-provider
npm start

在 macOS/Linux 上:

export NODE_OPTIONS=--openssl-legacy-provider
npm start

2. 降级 Node.js

如果第一个方法没有奏效,你可以考虑将 Node.js 降级到 16.x 或更低版本,这些版本不会出现该问题。

  1. 使用 nvm (Node Version Manager) 安装和管理 Node.js 版本(如果你还没安装)。

安装 nvm 后,可以用以下命令切换到合适的 Node.js 版本:

   nvm install 16
   nvm use 16

3. 更新依赖项

确保你的所有依赖项都是最新的。在项目目录下运行:

npm update --depth 9999

这将更新所有包,包括深层次的依赖关系。

4. 清理缓存并重装依赖

如果上面的步骤仍然没有解决问题,请尝试清理 npm 缓存并重新安装所有依赖:

rm -rf node_modules package-lock.json ./.cache # 删除 node_modules 和锁文件,以及缓存文件夹(如有)
npm cache clean --force                     # 清理 npm 缓存
npm install                                 # 重装所有依赖

总结

在现代开发环境中,因不同工具链和库之间存在不兼容性而导致的问题时有发生。如果上述步骤仍无法解决问题,请提供更多信息,例如你的操作系统、Node.js 的确切版本、Webpack 配置等,以便进行更深入的排查。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:http://sdn.0voice.com/?id=6749

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?