【前端笔记】npm报错ERR_OSSL_EVP_UNSUPPORTED

这篇具有很好参考价值的文章主要介绍了【前端笔记】npm报错ERR_OSSL_EVP_UNSUPPORTED。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

报错原因

Node版本>=17.x,本地npm run 起项目后会发现终端报错,具体有以下2块关键信息:

Error: error:0308010C:digital envelope routines::unsupported

opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ],
library: 'digital envelope routines',
reason: 'unsupported',
code: 'ERR_OSSL_EVP_UNSUPPORTED'

根本原因

原因是node v17中的OpenSSL3.0对允许算法和密钥大小增加了严格的限制。此处查看详情

解决办法

1、node版本降级为16.x

既然是版本问题,最简单粗暴的办法就是降级

2、设置环境变量

在终端手动修改环境变量,输入下面的内容:

export NODE_OPTIONS=--openssl-legacy-provider

然后重新启动项目,就不会失败了。

为什么这个办法能解决,因为在上面的根本原因放的链接里面就已经有答案了,如下图:

【前端笔记】npm报错ERR_OSSL_EVP_UNSUPPORTED,前端,笔记

2023-07-27更新:

上面的内容只是解决了本地启动时的问题,如果项目打包部署也出现了这个问题,并且项目中使用到了crypto加密库,可以尝试使用下面的配置:

// vue.config.js or webpack.config.js
const crypto = require('crypto');
const crypto_orig_createHash = crypto.createHash;
crypto.createHash = algorithm => crypto_orig_createHash(algorithm === 'md4' ? 'sha256' : algorithm);

其他修复方法文章来源地址https://www.toymoban.com/news/detail-751422.html

到了这里,关于【前端笔记】npm报错ERR_OSSL_EVP_UNSUPPORTED的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 前端启动项目npm run dev报错npm ERR! missing script: dev

    今天遇到了这样一个nt问题 突然前端跑不起来 后面发现是进行npm run dev 命令的时候少进入一层目录 进去之后就可以了 对此遇到这个bug我还查了很多blog 发现还有以下两种原因 1. 打开的是当前文件夹,但是文件夹package.js里的scripts确实没有dev, 输入vue init webpack 将package.json中丢

    2024年02月02日
    浏览(30)
  • 解决启动vue前端报错:npm ERR! Missing script: “serve“

    目录 一、遇到问题 二、出现报错的两个原因  三、解决办法  npm ERR! Missing script: \\\"serve\\\" npm ERR!  npm ERR! To see a list of scripts, run: n

    2024年02月09日
    浏览(33)
  • npm下载报错npm ERR! code ETIMEDOUT npm ERR! syscall connect npm ERR! errno ETIMEDOUT npm ERR! network re

    1、设置代理关闭 2、清除缓存 但我执行这句后会报下面的错误 3、又按照博主写的执行下面语句 显示以下结果 然后说是要降低npm版本 还是报错!!! 1、查看npm镜像设置 2、将npm设置为淘宝镜像 3、再次查看npm镜像设置 再下载终于成功了!!

    2024年02月12日
    浏览(35)
  • 【Vue报错】npm ERR! code ERESOLVE npm ERR! ERESOLVE unable to resolve dependency tree npm ERR! npm ERR!

    报错代码如下: 报错原因:由于npm版本太高导致此错误发。npm的版本只要超大于或等于7.x.x,会在某些方面上更加严格,就会导致出现这种情况,低于7.x.x不会出现这种情况 解决方案 1.在指令后面都添加上 --legacy-peer-deps,如下 2.在指令后面都加上 --force,如下 3.降低npm版本(

    2024年02月09日
    浏览(31)
  • 【Debug】npm下载报错:npm ERR! code ETIMEDOUT npm ERR! syscall connect npm ERR! errno ETIMEDOUT

    npm的默认地址是国外的,在下载依赖时,由于网速问题可能会导致这样那样的错误~        如果上面的方法没有解决问题,那检查一下是不是版本不适配导致的? 首先删除原来的node和npm 进入官网重新下载: Node,js官网  选择想要的版本,点击安装~傻瓜式安装就好啦 检查

    2024年02月04日
    浏览(37)
  • npm报错(npm ERR! Unexpected token ‘.‘)

    使用 nvm 将 node 切换到高版本后,运行 npm 相关的命令报的这个错 解决办法: 1、通过nvm list 命令查看当前都安装的node版本列表,依次通过 nvm uninstall [version] 命令将已经安装的 node 版本依次删除。 [version] 代表 node 版本号。 2、通过nvm root命令找到 nvm 安装位置, 双击 nvm

    2024年02月11日
    浏览(42)
  • npm install运行报错npm ERR! gyp ERR! not ok问题解决

    执行 npm install 的时候报错: 根据报错信息,看出时node-sass运行出现问题 解决: 1.查看当前环境node版本 我这里是20.11.0 2.在package.json中查看node-sass的版本: 2.1package.json中有node-sass 我这里node-sass的版本是4.14.4 根据下图查看node和node-sass版本是否匹配 如果node和node-sass版本不符合

    2024年01月24日
    浏览(41)
  • npm install报错 -> npm ERR! Unexpected token ‘.‘ 报错解决办法

    问题原因: 用nvm1.1.7的版本安装了16.x以上的node, 然后再下载依赖的时候就报错了; 总结一下就是nvm版本太低了,他的里面没有集成高版本node导致的。 解决办法: 把nvm切换到新版本就行了。 1. 卸载掉当前所有的node 有3个版本的node,我们要nvm uninstall 16.18.1, nvm uninstall 16.12.2…

    2024年02月14日
    浏览(37)
  • npm install报错 -> npm ERR! Unexpected token ‘.‘ 报错解决办法。

    问题原因: 用nvm1.1.7的版本安装了16.x以上的node, 然后再下载依赖的时候就报错了; 总结一下就是nvm版本太低了,他的里面没有集成高版本node导致的。 解决办法: 把nvm切换到新版本就行了。 1. 卸载掉当前所有的node 有3个版本的node,我们要nvm uninstall 16.18.1, nvm uninstall 16.12.2…

    2024年02月14日
    浏览(37)
  • npm install报错npm ERR! code ERESOLVE

    1.npm install报错npm ERR! code ERESOLVE 解决方法 在npm install 后面加上–force或者–legacy-peer-deps 2.npm install 报错 gyp ERR 原因:node和npm版本不匹配 解决方法 1.首先去node官网查找对应版本 node官网版本 2 查看自己电脑的node、npm版本,win+r打开cmd,输入: 卸载原有的高版本node,下载安装

    2024年02月15日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包