【前端笔记】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

    前端启动项目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日
    浏览(14)
  • 解决启动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日
    浏览(20)
  • npm下载报错npm ERR! code ETIMEDOUT npm ERR! syscall connect npm ERR! errno ETIMEDOUT npm ERR! network re

    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日
    浏览(13)
  • 【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日
    浏览(42)
  • 【Debug】npm下载报错:npm ERR! code ETIMEDOUT npm ERR! syscall connect npm ERR! errno ETIMEDOUT

    【Debug】npm下载报错:npm ERR! code ETIMEDOUT npm ERR! syscall connect npm ERR! errno ETIMEDOUT

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

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

    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日
    浏览(12)
  • npm install运行报错npm ERR! gyp ERR! not ok问题解决

    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日
    浏览(50)
  • npm install报错 -> npm ERR! Unexpected token ‘.‘ 报错解决办法。

    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日
    浏览(12)
  • npm install报错 -> npm ERR! Unexpected token ‘.‘ 报错解决办法

    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日
    浏览(13)
  • npm install报错npm ERR! code ERESOLVE

    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日
    浏览(13)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包