Node.js版本与项目的兼容性问题解决方案
创作时间:
作者:
@小白创作中心
Node.js版本与项目的兼容性问题解决方案
引用
CSDN
1.
https://blog.csdn.net/TullyL/article/details/144299826
本文将介绍一个常见的Node.js版本与项目兼容性问题,特别是与OpenSSL相关的问题。文章详细描述了一个具体的错误场景,并提供了多个解决方案,包括设置环境变量、降级Node.js版本和修改package.json等。
报错原因
这个错误是由于Node.js版本与项目的兼容性问题导致的。你遇到的是OpenSSL相关的错误,这在较新版本的Node.js中比较常见。
解决方案
方案1 - 设置环境变量(推荐):
在Windows命令行中运行以下命令:
set SET NODE_OPTIONS=--openssl-legacy-provider
然后重新运行:
npm start
方案2 - 降级Node.js:
1. 卸载当前的Node.js v22.11.0
2. 安装Node.js v16.x LTS版本
3. 重新运行 npm install && npm start
方案3 - 修改package.json:
将scripts部分的start命令修改为:
{
"scripts": {
"start": "set SET NODE_OPTIONS=--openssl-legacy-provider && react-scripts start"
}
}
建议使用方案1,因为这是最简单且不需要修改项目文件的方法。如果还是不行,可以尝试:
- 清除node_modules:
rm -rf node_modules
- 清除package-lock.json:
rm package-lock.json
- 重新安装:
npm install
- 设置环境变量:
set SET NODE_OPTIONS=--openssl-legacy-provider
- 启动项目:
npm start
这个问题主要是因为你使用的Node.js v22.11.0版本太新,而项目可能使用了一些较旧的依赖包。
Successful operation
详细报错
Microsoft Windows [版本 10.0.22000.2538]
(c) Microsoft Corporation。保留所有权利。
E:\React\react-bilibli-ToDoList>cd..
E:\React>cd weatherApp-Reactjs-master
E:\React\weatherApp-Reactjs-master>npm i && npm start
npm warn cleanup Failed to remove some directories [
npm warn cleanup [
npm warn cleanup 'E:\\React\\weatherApp-Reactjs-master\\node_modules\\watchpack-chokidar2',
npm warn cleanup [Error: EPERM: operation not permitted, rmdir 'E:\React\weatherApp-Reactjs-master\node_modules\watchpack-chokidar2\node_modules\string_decoder'] {
npm warn cleanup errno: -4048,
npm warn cleanup code: 'EPERM',
npm warn cleanup syscall: 'rmdir',
npm warn cleanup path: 'E:\\React\\weatherApp-Reactjs-master\\node_modules\\watchpack-chokidar2\\node_modules\\string_decoder'
npm warn cleanup }
npm warn cleanup ]
npm warn cleanup ]
Starting the development server...
Error: error:0308010C:digital envelope routines::unsupported
at new Hash (node:internal/crypto/hash:79:19)
at Object.createHash (node:crypto:139:10)
at module.exports (E:\React\weatherApp-Reactjs-master\node_modules\webpack\lib\util\createHash.js:135:53)
at NormalModule._initBuildHash (E:\React\weatherApp-Reactjs-master\node_modules\webpack\lib\NormalModule.js:417:16)
at handleParseError (E:\React\weatherApp-Reactjs-master\node_modules\webpack\lib\NormalModule.js:471:10)
at E:\React\weatherApp-Reactjs-master\node_modules\webpack\lib\NormalModule.js:503:5
at E:\React\weatherApp-Reactjs-master\node_modules\webpack\lib\NormalModule.js:358:12
at E:\React\weatherApp-Reactjs-master\node_modules\loader-runner\lib\LoaderRunner.js:373:3
at iterateNormalLoaders (E:\React\weatherApp-Reactjs-master\node_modules\loader-runner\lib\LoaderRunner.js:214:10)
at iterateNormalLoaders (E:\React\weatherApp-Reactjs-master\node_modules\loader-runner\lib\LoaderRunner.js:221:10)
E:\React\weatherApp-Reactjs-master\node_modules\react-scripts\scripts\start.js:19
throw err;
^
Error: error:0308010C:digital envelope routines::unsupported
at new Hash (node:internal/crypto/hash:79:19)
at Object.createHash (node:crypto:139:10)
at module.exports (E:\React\weatherApp-Reactjs-master\node_modules\webpack\lib\util\createHash.js:135:53)
at NormalModule._initBuildHash (E:\React\weatherApp-Reactjs-master\node_modules\webpack\lib\NormalModule.js:417:16)
at E:\React\weatherApp-Reactjs-master\node_modules\webpack\lib\NormalModule.js:452:10
at E:\React\weatherApp-Reactjs-master\node_modules\webpack\lib\NormalModule.js:323:13
at E:\React\weatherApp-Reactjs-master\node_modules\loader-runner\lib\LoaderRunner.js:367:11
at E:\React\weatherApp-Reactjs-master\node_modules\loader-runner\lib\LoaderRunner.js:233:18
at context.callback (E:\React\weatherApp-Reactjs-master\node_modules\loader-runner\lib\LoaderRunner.js:111:13)
at E:\React\weatherApp-Reactjs-master\node_modules\babel-loader\lib\index.js:59:103 {
opensslErrorStack: [
'error:03000086:digital envelope routines::initialization error',
'error:0308010C:digital envelope routines::unsupported'
],
library: 'digital envelope routines',
reason: 'unsupported',
code: 'ERR_OSSL_EVP_UNSUPPORTED'
}
Node.js v22.11.0
E:\React\weatherApp-Reactjs-master>
热门推荐
手机坏了如何拿数据库
交通事故纠纷中的证据收集指南
新手养狗指南:狗狗洗澡时间、用品及注意事项全解析
公积金贷款后如何提取余额?提取条件和方法详解
开盘集合竞价的规则是什么?这个规则对股市交易有什么作用?
古人“生日快乐”的惊艳且高级表达!
2024年全球工业机器人技术创新及应用场景拓展报告
六味地黄丸饭前吃还是饭后吃好
五行缺什么怎么算 教你如何分析五行缺失
逆转早田希娜,完胜伊藤美诚,陈幸同4-1晋级女单四强
山西科技学院:一所理工类应用型本科高校
男生脸颊没肉面相解读:从性格到运势的全面分析
乙肝病毒核心抗体弱阳性提示什么
电子烟的危害有哪些?如何影响健康?
八种情况表明你该辞职了,马上跳槽,别犹豫!
如何利用5日均线进行买卖决策
2025北京积分落户必看:掌握这些知识点,落户之路更顺畅!
失眠焦虑如何做才能得到缓解?
肝不好,未老先衰!养肝多吃六物、常饮三水,肝好,一切都好!
电脑开机花屏无法启动?U盘重装系统,一键解决
香港理工大学会计相关硕士介绍机笔面试分析
固态电池的原料是什么 固态电池生产工艺
揭秘CAAC无人机飞行执照的等级与条件
如何利用AI轻松生成科普动画视频:制作科普动画的全新方法与技巧
《从军记》:一部女军人的成长史,也是一部心灵史
神经衰弱与抑郁症的区别
克莱因瓶:一个可以装下整个地球的水的神奇瓶子?
触摸城市记忆 传承文化底蕴
内外一体的驱虫药,和分别做内驱和外驱的区别?
央行首次公布!下调“第一枪”!MLF“重量不重价” 减量续作配合降准