首页 > 编程语言 >Node 版本兼容性问题

Node 版本兼容性问题

时间:2023-02-03 14:24:37浏览次数:40  
标签:Node node Administrator finish js 版本 兼容性问题 front Desktop

问题描述

vue2 启动项目时报错如下:

> npm run serve
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 (C:\Users\Administrator\Desktop\SupplyChain_finish\front\node_modules\webpack\lib\util\createHash.js:135:53)
    at NormalModule._initBuildHash (C:\Users\Administrator\Desktop\SupplyChain_finish\front\node_modules\webpack\lib\NormalModule.js:417:16)
    at handleParseError (C:\Users\Administrator\Desktop\SupplyChain_finish\front\node_modules\webpack\lib\NormalModule.js:471:10)
    at C:\Users\Administrator\Desktop\SupplyChain_finish\front\node_modules\webpack\lib\NormalModule.js:503:5
    at C:\Users\Administrator\Desktop\SupplyChain_finish\front\node_modules\webpack\lib\NormalModule.js:358:12
    at C:\Users\Administrator\Desktop\SupplyChain_finish\front\node_modules\loader-runner\lib\LoaderRunner.js:373:3
    at iterateNormalLoaders (C:\Users\Administrator\Desktop\SupplyChain_finish\front\node_modules\loader-runner\lib\LoaderRunner.js:214:10)
    at Storage.finished (C:\Users\Administrator\Desktop\SupplyChain_finish\front\node_modules\enhanced-resolve\lib\CachedInputFileSystem.js:55:16)        
    at C:\Users\Administrator\Desktop\SupplyChain_finish\front\node_modules\enhanced-resolve\lib\CachedInputFileSystem.js:91:9
    at C:\Users\Administrator\Desktop\SupplyChain_finish\front\node_modules\graceful-fs\graceful-fs.js:123:16
    at FSReqCallback.readFileAfterClose [as oncomplete] (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 V17 版本中最近发布的 OpenSSL3.0, 而 OpenSSL3.0 对允许算法和密钥大小增加了严格的限制。本项目是在 Node.js 16.14.0 版本下创建,而运行的版本是 node.js V18 版本,导致出现 OpenSSL 3.0 的版本兼容性问题。

解决方案

方法一

从其他文章找到的办法,但是本人实测不行,原因未知,大概是电脑差异

# 使用win+R,输入cmd,在终端中输入如下命令:
> set NODE_OPTIONS=--openssl-legacy-provider
方法二

修改 vue 项目的 package.json 文件,添加 "serve": "set NODE_OPTIONS=\"--openssl-legacy-provider\" & npm run dev\n",如下:

  "scripts": {
    "dev": "vue-cli-service serve",
    "build": "vue-cli-service build",
    "lint": "vue-cli-service lint",
    "serve": "set NODE_OPTIONS=\"--openssl-legacy-provider\" & npm run dev\n"
  },
方法三

降低自己 nodejs 的版本保持和 vue 工程的中 nodejs 版本一致即可

标签:Node,node,Administrator,finish,js,版本,兼容性问题,front,Desktop
From: https://www.cnblogs.com/binbingg/p/17089073.html

相关文章

  • nodemon实现自动重启项目
         ......
  • kubernetes nodeSelector部署节点选择
    1.文档https://kubernetes.io/zh-cn/docs/concepts/scheduling-eviction/assign-pod-node/ 2.说明 nodeSelector 是节点选择约束的最简单推荐形式。你可以将 n......
  • vue版本2.9.6升级到高版本
    由于npminstall-gvue-cli安装的是老版本,如果想要安装新版本,可以先看一下自己是否已经安装了新版本vuecreateproj:可以看到我这边有两个版本了,如果想要安装新版本需要......
  • docker 安装kafka(单机版本)
    网上大多数是这个镜像zookeeper镜像dockerpullwurstmeister/zookeeperkafka镜像dockerpullwurstmeister/kafka  dockerrun-d-p2181:2181--namezookeepe......
  • Sonic版本更新
    sonic官网版本迁移指南升级前先备份Mysql数据库。直接前往 这里 下载最新版本zip,down集群后重新up即可。(部署文档含中国大陆加速镜像部署方式)jar方式部署的Agent......
  • node的下载和配置
    一、node的下载和配置1-官网下载:https://nodejs.org/en/2-选择版本下载(尽量不要选择高版本下载,否则容易出现版本不兼容的情况)3-这里推荐12的版本4......
  • cnpm安装时node_modules包总是出错
    前言直入主题,第一步:删除 node_modules包;第二步:cnpmcacheclean--force,如果报错了就用cnpmcacheverify 第三步:cnpminstall重新安装 一次......
  • App自动化测试|adb版本过低的报错提示
    adb版本过低的报错Anunknownserver-sideerroroccurredwhileprocessingthecommand.Originalerror:Anunknownserver-sideerroroccurredwhileprocessingthe......
  • nodeJS+express搭建后台服务,node写后台接口
    确保电脑已安装node.新建个文件夹,准备存放服务文件,打开文件夹,按住shift右键快捷打开powershell窗口,执行命令npmiexpress然后依赖文件就安装好了   新建serve......
  • node中的模块化
              ......