NPM运行保存问题解决

问题描述

我在控制台运行如下命令

shell 复制代码
npm run dev

结果报出如下错误

log 复制代码
> form-generator@0.2.0 dev
> vue-cli-service serve

 INFO  Starting development server...
10% building 4/4 modules 0 active(node:4920) [DEP0111] DeprecationWarning: Access to process.binding('http_parser') is deprecated.
(Use `node --trace-deprecation ...` to show where the warning was created)
10% building 4/6 modules 2 active D:\develop_study\form-generator\node_modules\webpack\hot\dev-server.jsError: error:0308010C:digital envelope routines::unsupported
    at new Hash (node:internal/crypto/hash:69:19)
    at Object.createHash (node:crypto:133:10)
    at module.exports (D:\develop_study\form-generator\node_modules\webpack\lib\util\createHash.js:135:53)
    at NormalModule._initBuildHash (D:\develop_study\form-generator\node_modules\webpack\lib\NormalModule.js:417:16)
    at handleParseError (D:\develop_study\form-generator\node_modules\webpack\lib\NormalModule.js:471:10)
    at D:\develop_study\form-generator\node_modules\webpack\lib\NormalModule.js:503:5
    at D:\develop_study\form-generator\node_modules\webpack\lib\NormalModule.js:358:12
    at D:\develop_study\form-generator\node_modules\loader-runner\lib\LoaderRunner.js:373:3
    at iterateNormalLoaders (D:\develop_study\form-generator\node_modules\loader-runner\lib\LoaderRunner.js:214:10)
    at iterateNormalLoaders (D:\develop_study\form-generator\node_modules\loader-runner\lib\LoaderRunner.js:221:10)
    at D:\develop_study\form-generator\node_modules\loader-runner\lib\LoaderRunner.js:236:3
    at runSyncOrAsync (D:\develop_study\form-generator\node_modules\loader-runner\lib\LoaderRunner.js:130:11)
    at iterateNormalLoaders (D:\develop_study\form-generator\node_modules\loader-runner\lib\LoaderRunner.js:232:2)
    at Array.<anonymous> (D:\develop_study\form-generator\node_modules\loader-runner\lib\LoaderRunner.js:205:4)
    at Storage.finished (D:\develop_study\form-generator\node_modules\enhanced-resolve\lib\CachedInputFileSystem.js:55:16)
    at D:\develop_study\form-generator\node_modules\enhanced-resolve\lib\CachedInputFileSystem.js:91:9
Error: error:0308010C:digital envelope routines::unsupported
    at new Hash (node:internal/crypto/hash:69:19)
    at Object.createHash (node:crypto:133:10)
    at module.exports (D:\develop_study\form-generator\node_modules\webpack\lib\util\createHash.js:135:53)
    at NormalModule._initBuildHash (D:\develop_study\form-generator\node_modules\webpack\lib\NormalModule.js:417:16)
    at handleParseError (D:\develop_study\form-generator\node_modules\webpack\lib\NormalModule.js:471:10)
    at D:\develop_study\form-generator\node_modules\webpack\lib\NormalModule.js:503:5
    at D:\develop_study\form-generator\node_modules\webpack\lib\NormalModule.js:358:12
    at D:\develop_study\form-generator\node_modules\loader-runner\lib\LoaderRunner.js:373:3
    at iterateNormalLoaders (D:\develop_study\form-generator\node_modules\loader-runner\lib\LoaderRunner.js:214:10)
    at iterateNormalLoaders (D:\develop_study\form-generator\node_modules\loader-runner\lib\LoaderRunner.js:221:10)
    at D:\develop_study\form-generator\node_modules\loader-runner\lib\LoaderRunner.js:236:3
    at runSyncOrAsync (D:\develop_study\form-generator\node_modules\loader-runner\lib\LoaderRunner.js:130:11)
    at iterateNormalLoaders (D:\develop_study\form-generator\node_modules\loader-runner\lib\LoaderRunner.js:232:2)
    at Array.<anonymous> (D:\develop_study\form-generator\node_modules\loader-runner\lib\LoaderRunner.js:205:4)
    at Storage.finished (D:\develop_study\form-generator\node_modules\enhanced-resolve\lib\CachedInputFileSystem.js:55:16)
    at D:\develop_study\form-generator\node_modules\enhanced-resolve\lib\CachedInputFileSystem.js:91:9
node:internal/crypto/hash:69
  this[kHandle] = new _Hash(algorithm, xofLen);
                  ^

Error: error:0308010C:digital envelope routines::unsupported
    at new Hash (node:internal/crypto/hash:69:19)
    at Object.createHash (node:crypto:133:10)
    at module.exports (D:\develop_study\form-generator\node_modules\webpack\lib\util\createHash.js:135:53)
    at NormalModule._initBuildHash (D:\develop_study\form-generator\node_modules\webpack\lib\NormalModule.js:417:16)
    at handleParseError (D:\develop_study\form-generator\node_modules\webpack\lib\NormalModule.js:471:10)
    at D:\develop_study\form-generator\node_modules\webpack\lib\NormalModule.js:503:5
    at D:\develop_study\form-generator\node_modules\webpack\lib\NormalModule.js:358:12
    at D:\develop_study\form-generator\node_modules\loader-runner\lib\LoaderRunner.js:373:3
    at iterateNormalLoaders (D:\develop_study\form-generator\node_modules\loader-runner\lib\LoaderRunner.js:214:10)
    at Array.<anonymous> (D:\develop_study\form-generator\node_modules\loader-runner\lib\LoaderRunner.js:205:4)
    at Storage.finished (D:\develop_study\form-generator\node_modules\enhanced-resolve\lib\CachedInputFileSystem.js:55:16)
    at D:\develop_study\form-generator\node_modules\enhanced-resolve\lib\CachedInputFileSystem.js:91:9
    at D:\develop_study\form-generator\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 v18.19.0

百度了一下,是说版本不对,不是LTS版本,建议我更换Node版本

我本机安装了nvm管理工具,所以通过nvm去查询下node的版本信息

shell 复制代码
nvm list available
##或者也可以用如下的别名ls来执行
nvm ls available

然后看到如下可以安装的版本信息

shell 复制代码
|   CURRENT    |     LTS      |  OLD STABLE  | OLD UNSTABLE |
|--------------|--------------|--------------|--------------|
|    21.6.2    |   20.11.1    |   0.12.18    |   0.11.16    |
|    21.6.1    |   20.11.0    |   0.12.17    |   0.11.15    |
|    21.6.0    |   20.10.0    |   0.12.16    |   0.11.14    |
|    21.5.0    |    20.9.0    |   0.12.15    |   0.11.13    |
|    21.4.0    |   18.19.1    |   0.12.14    |   0.11.12    |
|    21.3.0    |   18.19.0    |   0.12.13    |   0.11.11    |
|    21.2.0    |   18.18.2    |   0.12.12    |   0.11.10    |
|    21.1.0    |   18.18.1    |   0.12.11    |    0.11.9    |
|    21.0.0    |   18.18.0    |   0.12.10    |    0.11.8    |
|    20.8.1    |   18.17.1    |    0.12.9    |    0.11.7    |
|    20.8.0    |   18.17.0    |    0.12.8    |    0.11.6    |
|    20.7.0    |   18.16.1    |    0.12.7    |    0.11.5    |
|    20.6.1    |   18.16.0    |    0.12.6    |    0.11.4    |
|    20.6.0    |   18.15.0    |    0.12.5    |    0.11.3    |
|    20.5.1    |   18.14.2    |    0.12.4    |    0.11.2    |
|    20.5.0    |   18.14.1    |    0.12.3    |    0.11.1    |
|    20.4.0    |   18.14.0    |    0.12.2    |    0.11.0    |
|    20.3.1    |   18.13.0    |    0.12.1    |    0.9.12    |
|    20.3.0    |   18.12.1    |    0.12.0    |    0.9.11    |
|    20.2.0    |   18.12.0    |   0.10.48    |    0.9.10    |

可以看到LTS下的版本列表,我选择了18.19.1版本,执行如下命令进行安装

shell 复制代码
nvm install 18.19.1

然后就静静等待安装结束,直到看到控制台输出如下信息,表示安装已经完成

shell 复制代码
Downloading node.js version 18.19.1 (64-bit)...
Complete
Downloading npm version 10.2.4... Complete
Installing npm v10.2.4...

Installation complete. If you want to use this version, type

nvm use 18.19.1

安装完成后我们用如下命令查看一下

shell 复制代码
nvm ls

执行结果如下

shell 复制代码
18.19.1

然后我们执行nvm use 18.19.1就可以生效该版本

shell 复制代码
nvm use 18.19.1

接下来就可以愉快的编码了

相关推荐
全栈项目管理程序猿2 分钟前
ArcGIS JS 基础教程(28):图层渲染顺序管理
前端·javascript
YIAN4 分钟前
LangGraph 完全入门指南:从线性工作流到带中断恢复的有状态 Agent 编排
langchain·node.js·agent
huakoh6 分钟前
MCP 工具报错走哪条通道:三条探针的最小复现检查
前端
用户0333074139513 分钟前
ParadeDB 的 pg_search 0.26 把十词 BM25 搜索从 129ms 降到 29ms
前端
不爱说话郭德纲22 分钟前
从“点点点”到一键出包:我把 uni-app x Android 离线打包做成了脚本
android·前端·uni-app
Lstone736429 分钟前
从 Jetpack Compose 到 CMP:跨平台开发学习笔记
前端
deli00733 分钟前
多加一粒沙,整堆为什么就塌了?sandpile 模型 20 万粒实测
前端
涛涛ing35 分钟前
乱序HTML流正式进入浏览器:前端流式渲染的“框架特权”被终结了
前端
__sjfzllv___36 分钟前
在职前端Leader学习/转行 AI Agent -DAY73
前端
用户17335980753736 分钟前
纯前端 PDF 压平避坑指南:压平后表单字段变了?
前端·javascript·vue.js