1、
https://nodejs.org
官网点击对应的版本下载,解压后点击安装程序,一直点next,可以改变成自己的路径
2、
环境变量配置
系统环境变量
系统变量中path
3、管理员身份打开cmd窗口
4、安装镜像文件
npm config set prefix "D:\Program Files\node.js\node_global"
npm config set prefix "D:\Program Files\node.js\node_cahce"
npm config set registry https://register.npm.taobao.org
npm comfig ls
项目启动node.js版本问题解决办法:
错误代码复现
Error: error:0308010C:digital envelope routines::unsupported
at new Hash (node:internal/crypto/hash:71:19)
at Object.createHash (node:crypto:133:10)
at module.exports (E:\Tian\project_api\Yolov5-Flask-VUE-master\Yolov5-Flask-VUE-master\front-end\node_modules\webpack\lib\util\createHash.js:135:53)
at NormalModule._initBuildHash (E:\Tian\project_api\Yolov5-Flask-VUE-master\Yolov5-Flask-VUE-master\front-end\node_modules\webpack\lib\NormalModule.js:412:16)
at handleParseError (E:\Tian\project_api\Yolov5-Flask-VUE-master\Yolov5-Flask-VUE-master\front-end\node_modules\webpack\lib\NormalModule.js:463:10)
at E:\Tian\project_api\Yolov5-Flask-VUE-master\Yolov5-Flask-VUE-master\front-end\node_modules\webpack\lib\NormalModule.js:495:5
at E:\Tian\project_api\Yolov5-Flask-VUE-master\Yolov5-Flask-VUE-master\front-end\node_modules\webpack\lib\NormalModule.js:354:12
at E:\Tian\project_api\Yolov5-Flask-VUE-master\Yolov5-Flask-VUE-master\front-end\node_modules\loader-runner\lib\LoaderRunner.js:373:3
at iterateNormalLoaders (E:\Tian\project_api\Yolov5-Flask-VUE-master\Yolov5-Flask-VUE-master\front-end\node_modules\loader-runner\lib\LoaderRunner.js:214:10)
at Array.<anonymous> (E:\Tian\project_api\Yolov5-Flask-VUE-master\Yolov5-Flask-VUE-master\front-end\node_modules\loader-runner\lib\LoaderRunner.js:205:4)
at Storage.finished (E:\Tian\project_api\Yolov5-Flask-VUE-master\Yolov5-Flask-VUE-master\front-end\node_modules\enhanced-resolve\lib\CachedInputFileSystem.js:43:16)
at E:\Tian\project_api\Yolov5-Flask-VUE-master\Yolov5-Flask-VUE-master\front-end\node_modules\enhanced-resolve\lib\CachedInputFileSystem.js:79:9
at E:\Tian\project_api\Yolov5-Flask-VUE-master\Yolov5-Flask-VUE-master\front-end\node_modules\graceful-fs\graceful-fs.js:115: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.16.1
解决办法:
1、重装node版本到v17以下(因为 node.js V17版本中最近发布的OpenSSL3.0, 而OpenSSL3.0对允许算法和密钥大小增加了严格的限制,可能会对生态系统造成一些影响。)
2、推荐:修改package.json,在相关构建命令之前加入
SET NODE_OPTIONS=--openssl-legacy-provider
npm run serve
"scripts": {
"serve": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve",
"build": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service build"
},
打开cmd, cd到项目指定目录
SET NODE_OPTIONS=--openssl-legacy-provider
npm run serve
每次运行都要输入SET NODE_OPTIONS=--openssl-legacy-provider,来告诉nodejs,别使用最新的SSL3.0,还是使用以前旧版本的。
ok, 启动成功