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

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

相关推荐
大怪v1 小时前
AI抢饭?前端佬:我要验牌!
前端·人工智能·程序员
新酱爱学习1 小时前
字节外包一年,我的技术成长之路
前端·程序员·年终总结
小兵张健2 小时前
开源 playwright-pool 会话池来了
前端·javascript·github
IT_陈寒4 小时前
Python开发者必知的5大性能陷阱:90%的人都踩过的坑!
前端·人工智能·后端
codingWhat5 小时前
介绍一个手势识别库——AlloyFinger
前端·javascript·vue.js
代码老中医5 小时前
2026年CSS彻底疯了:这6个新特性让我删掉了三分之一JS代码
前端
不会敲代码15 小时前
Zustand:轻量级状态管理,从入门到实践
前端·typescript
踩着两条虫5 小时前
VTJ.PRO 双向代码转换原理揭秘
前端·vue.js·人工智能
扉川川5 小时前
OpenClaw 架构解析:一个生产级 AI Agent 是如何设计的
前端·人工智能
远山枫谷5 小时前
一文理清页面/组件通信与 Store 全局状态管理
前端·微信小程序