首页 > 其他分享 >[npm] npm打包/运行时,报:"95% emitting CompressionPlugin ERROR Error: error:0308010C:digital envelope

[npm] npm打包/运行时,报:"95% emitting CompressionPlugin ERROR Error: error:0308010C:digital envelope

时间:2024-03-18 12:55:55浏览次数:17  
标签:npm 0308010C vue node cli CompressionPlugin ... js error

1 问题描述

  • 环境信息
  • windows 10
  • node : v20.11.1
> node --version
v20.11.1
  • vue : 2.6.12
[dependencies]
"vue": "2.6.12"
"vue-count-to": "1.0.13"
"vue-cropper": "0.5.5"
"vue-meta": "2.4.0"
"vue-router": "3.4.9"
"vuedraggable": "2.24.3"
"vuex": "3.6.0"
...

[devDependencies]
"@vue/cli-plugin-babel": "4.4.6"
"@vue/cli-plugin-eslint": "4.4.6"
"@vue/cli-service": "4.4.6"
"vue-template-compiler": "2.6.12"
...
  • 执行npm run dev报错

package.json-scripts : { "dev": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve" , ... }

(base) PS E:\xxx\Gitee-Projects\RuoYi-Vue-Plus\ruoyi-ui> npm run dev

> [email protected] dev
> vue-cli-service serve

 INFO  Starting development server...
95% emitting CompressionPlugin ERROR  Error: error:0308010C:digital envelope routines::unsupported
Error: error:0308010C:digital envelope routines::unsupported
    at new Hash (node:internal/crypto/hash:68:19)
    at Object.createHash (node:crypto:138:10)
    at E:\xxxx\Gitee-Projects\RuoYi-Vue-Plus\ruoyi-ui\node_modules\compression-webpack-plugin\dist\index.js:243:42
    at CompressionPlugin.compress (E:\xxxx\Gitee-Projects\RuoYi-Vue-Plus\ruoyi-ui\node_modules\compression-webpack-plugin\dist\index.js:284:9)
    at E:\xxxx\Gitee-Projects\RuoYi-Vue-Plus\ruoyi-ui\node_modules\compression-webpack-plugin\dist\index.js:305:12
    at _next1 (eval at create (E:\xxxx\Gitee-Projects\RuoYi-Vue-Plus\ruoyi-ui\node_modules\tapable\lib\HookCodeFactory.js:33:10), <anonymous>:14:17)
    at eval (eval at create (E:\xxxx\Gitee-Projects\RuoYi-Vue-Plus\ruoyi-ui\node_modules\tapable\lib\HookCodeFactory.js:33:10), <anonymous>:33:1)
    at E:\xxxx\Gitee-Projects\RuoYi-Vue-Plus\ruoyi-ui\node_modules\copy-webpack-plugin\dist\index.js:91:9
(

2 问题分析

  • 这个错误是由于在Vue项目中使用了CompressionPlugin插件而引起的。

具体错误信息是"95% emitting CompressionPlugin ERROR Error: error:0308010C:digital envelope routines::unsupported"。
根据引用,这个错误与OpenSSL版本有关。

  • node.js V17版本中最近发布的OpenSSL3.0允许算法密钥大小增加了严格的限制,可能会对生态系统造成一些影响。

因此,可能是由于OpenSSL3.0的限制导致CompressionPlugin插件在构建过程中出现了错误。

  • 解决这个问题的方法之一是在构建命令中设置一个环境变量,以使用旧版本的OpenSSL

根据引用,可以在构建命令中添加以下内容:"build:prod": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service build"
这样设置后,构建命令将使用旧版本的OpenSSL,从而解决了该错误。请确保在使用该命令时,将其替换为实际使用的命令。

  • 另外,引用提到了一种方法,即通过打开终端、并按照说明粘贴一些命令来解决该问题。

但是由于这个方法不一定适用于所有情况,所以可能需要尝试其他解决方案。

  • 总结起来,95% emitting CompressionPlugin ERROR Error: error:0308010C:digital envelope routines::unsupported错误是由于OpenSSL 3.0限制导致CompressionPlugin插件在构建过程中出现了错误。

解决该问题的方法之一是在构建命令中设置一个环境变量,使用旧版本的OpenSSL。另外,还可以尝试其他解决方案,如引用中提到的方法。

3 解决方法

  • package.json - scripts :
  ...
 "dev": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve",
  ...

完整配置:如下

...
  "scripts": {
    "dev": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve",
    "build:prod": "vue-cli-service build",
    "build:stage": "vue-cli-service build --mode staging",
    "preview": "node build/index.js --preview",
    "lint": "eslint --ext .js,.vue src"
  },
...

X 参考文献

标签:npm,0308010C,vue,node,cli,CompressionPlugin,...,js,error
From: https://www.cnblogs.com/johnnyzen/p/18080128

相关文章

  • 内网私仓全流程搭建记录(二)-npm私仓提交与拉取
    1、npm私仓依赖下载及本地上传方法一1)使用Pycharm创建py文档,写入如下py代码:importosimportreimportaiohttpimportasynciofromurllib.parseimporturlparsefromconcurrent.futuresimportThreadPoolExecutor#创建存储文件夹download_folder="sourcenpm"os.m......
  • python:ModuleNotFoundError: No module named 'xxx'可能的解决方案大全
    "ModuleNotFoundError:Nomodulenamed'xxx'"这个报错是个非常常见的报错,几乎每个python程序员都遇到过,导致这个报错的原因也非常多,下面是我曾经遇到过的原因和解决方案module包没安装忘了import没有__init__.py文件package包的版本不对自定义的包名与安装的包名相同,导致......
  • TypeError [ERR_UNKNOWN_FILE_EXTENSION]: Unknown file extension ".ts" for xx.ts
    TypeError[ERR_UNKNOWN_FILE_EXTENSION]:Unknownfileextension".ts"假如你在编写一个Typescript库函数,你希望将其编译为ESModule,那么你可以通过在package.json中声明"type":"module"来告诉使用者你的库函数使用的模块规范是ESModule。但如果你使用ts-node来运......
  • nvm 安装node npm install -g cnpm
     "node-sass":"^4.14.1",需要安装v14.9.0https://nodejs.org/dist/v14.9.0/node-v14.9.0-x86.msi参考https://www.cnblogs.com/biehongli/p/12756256.html node-vnpm-v  npminstall-gcnpm--registry=https://registry.npm.taobao.org出现若下提示Wind......
  • [nodejs] NodeJs/NPM入门教程
    0序nodejs是运行在服务器端的js,常用于前端工程师在本地电脑、或生产环境部署调试或运行前端工程。回想起来,上次使用nodejs,还在5年前做大学毕业设计时,基于前后端分离的实践(那时,业界正在兴起前后端分离的浪潮。当然了,现在的web工程,前后端分离已是默认的技术选择了)这次重......
  • 程序流程的控制 Abort Exit Halt RunError Continue Break Sleep
    Break退出当前循环体,包括for,while,repeat等循环体;Continue用于从For语句,while语句或repeat语句强行结束本次循环,并开始下一次循环;Exit跳出当前代码块,也就是当前函数,跳出后是要继续向下执行的(如果有后续代码),若该代码为主程序,则终止该程序,若是函数或过程,则立即退出过程或......
  • 关于安装Ubuntu/Arch wsl的error:0xffffffff报错
    运行Arch/Ubuntuwsl时报错//报错如下WslRegisterDistributionfailedwitherror:0xffffffffError:0xffffffff(null)原因:53端口被占用解决方法:win+r打开运行窗口输入resmon.exe回车。找到侦听窗口栏,查看占用53端口的PID。ctrl+shift+Esc打开任务管理器。在搜索栏......
  • 插入数据库遇到中文无插入的问题 Error 1366 (HY000): Incorrect string value: ‘\x
    项目场景:beego登录注册过程中将信息写入到MYSQL数据库中问题描述字段写入过程中数据出现无法写入的情况,出现报错:Error1366(HY000):Incorrectstringvalue:‘\xE7\x94\xB7’forcolumn‘sex’atrow1原因分析:根据控制台收到的打印信息我发现数据正确从前......
  • Python TypeError: __init__() missing 1 required positional argument 问题
    当我们学完class还未熟练运用,或做题时可能总会遇到这个问题,那我们该怎么解决呢首先我们先创造一个类,如:classfunc:def__init__(self,b2,c1):self.c1=c1self.b2=b2print(b2,c1)在这里我们建立了两个变量:b2,c1,而当我们传参时,可能是只付......
  • pytorch使用pytorch_wavelets包错误:ValueError: step must be greater than zero 错误
    错误描述在使用pytorch_wavelets包的DWT1DInverse时,发现报错信息如下:Traceback(mostrecentcalllast):File"/work/GDN/test/test_DWT.py",line24,inx_=idwt((YL,YH))File"/opt/conda/lib/python3.6/site-packages/torch/nn/modules/module.py",line550......