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

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

相关推荐
毕设十刻13 分钟前
基于Vue的迅读网上书城22f4d(程序 + 源码 + 数据库 + 调试部署 + 开发环境配置),配套论文文档字数达万字以上,文末可获取,系统界面展示置于文末
前端·数据库·vue.js
程序员小寒13 分钟前
从一道前端面试题,谈 JS 对象存储特点和运算符执行顺序
开发语言·前端·javascript·面试
爱健身的小刘同学1 小时前
Vue 3 + Leaflet 地图可视化
前端·javascript·vue.js
神秘的猪头1 小时前
Ajax 数据请求:从零开始掌握异步通信
前端·javascript
稀饭521 小时前
用changeset来管理你的npm包版本
前端·npm
TeamDev1 小时前
基于 Angular UI 的 C# 桌面应用
前端·后端·angular.js
就知道你是成心的2 小时前
npm pack 一键构建npm离线包
npm
Komorebi゛2 小时前
【CSS】斜角流光样式
前端·css
Irene19912 小时前
CSS 废弃属性分类总结
前端·css
青莲8432 小时前
Android 事件分发机制 - 事件流向详解
android·前端·面试