在研发过程中,前端经常需要在不同项目组研发vue2,或者vue3的项目,这个是否需要切换node版本!
如果你的vue2项目启动项目报错
Vue 报错error:0308010C:digital envelope routines::unsupported_柠檬果子青的博客-CSDN博客
启动老项目多半是当前电脑node版本过高。
Vue 报错error:0308010C:digital envelope routines::unsupported
出现这个错误是因为 node.js V17版本中最近发布的OpenSSL3.0, 而OpenSSL3.0对允许算法和密钥大小增加了严格的限制,可能会对生态系统造成一些影响.
方法1.
打开终端(按健win+R弹出窗口,键盘输入cmd,然后敲回车)并按照说明粘贴这些:(不一定行,有可能失败)
Linux & Mac OS (windows git bash)
export NODE_OPTIONS=--openssl-legacy-provider
windows命令提示符:
set NODE_OPTIONS=--openssl-legacy-provider
方法2
尝试卸载Node.js 17+版本并重新安装Node.js 16+版本,然后再重新启动
方法3 很好用
package.json增加配置
"scripts": { "serve": "set NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve", "build": "vue-cli-service build" },
终极解决方案是:nvm
NVM
Node.js:基于Chrome V8引擎的JS运行环境(javascript代码运行环境) npm: 第三方js插件包管理工具,会随着node一起安装(Node package Manager) npx:npm5.2之后新增的npx命令 优点: 1、直接到当前项目node_moudle/.bin/路径和$PATH下,寻找命令 2、避免全局安装,比如脚手架类型的库,通常只会在初始化时用一次, 此时就可以通过npmx create-react-app这种方式调用,执行这个命令时, npx会将create-react-app下载到一个临时目录,使用完后再删除。
NVM介绍
node的版本管理器,可以方便地安装&切换不同版本的node
随着大前端的快速发展,node版本更新很快,我们在工作中,可以会有老版本的node的项目需要维护,也可能有新版本的node的项目需要开发,如果我们只有一个node版本的话将会很麻烦,nvm可以解决我们的难点
安装
2.下载安装
安装需要注意两点:
1.把电脑上面的node环境先卸载干净
包含npm的目录,一般在C:\Users\admin\AppData\Roaming
2.安装时,建议选择手动安装版,然后疯狂下一步就行,不要尝试改变安装目录.不能有空格或者中文字符.安装的路径有可能会出现权限问题,所以有时需要用管理员权限(管理员方式打开cmd)
在命令行输入nvm 能出现反应就行OK了
注意: nvm安装node时,有时npm会下载失败,百度的解决方案,有的是说由于npm git官方地址变更,使用默认配置会导致npm下载失败,需修改"nvm/settings.txt"中npm_mirror.
C:\Users\xx\AppData\Roaming\nvm\settings.txt(nvm安装目录下的该文件) root: C:\Users\<name>\AppData\Roaming\nvm path: C:\Program Files\nodejs arch: 64 proxy: none
则打开nvm的安装目录,打开settings.txt文件,增加2行,然后保存
node_mirror: http://npm.taobao.org/mirrors/node/ npm_mirror: https://npm.taobao.org/mirrors/npm/
但如果试了这种方式,没有解决问题.则可以参考这篇文章:nvm安装node时,npm安装失败的原因分析_前端小白Joy的博客-CSDN博客
NVM命令行使用
1.ls查看可安装的node版本
nvm ls available
current:当前最新的版本 LTS:稳定版本
2.install安装需要的node版本
nvm install 版本号 例如:nvm install 16.17.0
3.list查看已安装的node版本
输入命令行nvm ls可查看你安装的所有node.js版本号,以及你当前所选择的node.js运行版本
nvm list 或 nvm ls
4.use切换使用的版本
nvm use node 版本号 例如:nvm use 16.17.0
若报错exit status 1: ��û���㹻��Ȩ��ִ�д˲�����
则权限不够,以管理员身份运行cmd 具体方法:点击电脑左下方搜索->输入cmd->以管理员身份运行(命令提示符)->重新输入nvm use
5.验证是否成功
分别输入,可检验node.js以及对应npm是否安装成功,如果可以显示版本号这说明安装成功。
node -v 和 npm -v
6.删除某node版本
nvm uninstall node版本号 例如:nvm uninstall 18.10.0
7.常用命令
nvm list 查看已经安装的版本 nvm list installed 查看已经安装的版本 nvm list available 查看网络可以安装的版本 nvm version 查看当前的版本 nvm install 安装最新版本nvm nvm use <version> ## 切换使用指定的版本node nvm ls 列出所有版本 nvm current显示当前版本 nvm alias <name> <version> ## 给不同的版本号添加别名 nvm unalias <name> ## 删除已定义的别名 nvm reinstall-packages <version> ## 在当前版本node环境下,重新全局安装指定版本号的npm包 nvm on 打开nodejs控制 nvm off 关闭nodejs控制 nvm proxy 查看设置与代理 nvm node_mirror [url] 设置或者查看setting.txt中的node_mirror,如果不设置的默认是 https://nodejs.org/dist/ nvm npm_mirror [url] 设置或者查看setting.txt中的npm_mirror,如果不设置的话默认的是: https://github.com/npm/npm/archive/. nvm uninstall <version> 卸载制定的版本 nvm root [path] 设置存储不同版本node的目录。如果未设置,默认使用当前目录 nvm arch 显示node是运行在32位还是64位。 nvm install <version> [arch] 安装node, version是特定版本也可以是最新稳定版本latest。可选参数arch指定安装32位还是64位版本,默认是系统位数。可以添加--insecure绕过远程服务器的SSL。
8. 设置公共安装目录及环境变量
安装nvm,并使用nvm安装nodejs及配置环境变量_nvm环境变量配置_JJ_Smilewang的博客-CSDN博客
参考:
Vue 报错error:0308010C:digital envelope routines::unsupported_柠檬果子青的博客-CSDN博客
nvm(node版本管理用具)安装和使用_node nvm_白开水z的博客-CSDN博客