两学一做注册网站,有没有学做衣服的网站,集团网站制作方案ppt,大公司网站开发新换的电脑#xff0c;系统装的win11#xff0c;node也是18的版本。 跑了一下老项目#xff0c;我用的是HbuilderX#xff0c;点击运行和发行时#xff0c;都会报错#xff1a; Error: error:0308010C:digital envelope routines::unsupported 出现这个错误是因为 node.j… 新换的电脑系统装的win11node也是18的版本。 跑了一下老项目我用的是HbuilderX点击运行和发行时都会报错 Error: error:0308010C:digital envelope routines::unsupported 出现这个错误是因为 node.js V17版本中最近发布的OpenSSL3.0, 而OpenSSL3.0对允许算法和密钥大小增加了严格的限制可能会对生态系统造成一些影响. 搜了一下网上大家的解决办法主要解决方案有以下几种但是我用的第二种推荐第三种 方法一尝试卸载Node.js 17版本并重新安装Node.js 16版本然后再重新启动 效果可行但是我们不能经常这样毕竟也要跟着node同进退新项目也得用新node版本是吧。。。 方法二方法一的进阶我用的 做法安装nvm管理工具可以同时在电脑中安装n套node版本用的时候进行切换就好。 具体安装可以参考下面的链接小姐姐写的很详细 nvm管理node版本 - Coderz1 - 博客园 (cnblogs.com) 需要注意的是如果和我一样使用nvm use xxx之后执行node -v的时候就提示node不是内部语言时是因为本身电脑里有node.js导致在nvm创建node快捷方式的时候和原文件夹名称一样冲突结果导致没安装上。。所以遇到同样问题的小伙伴把原来node.js咔咔卸载顺便删除掉对应的文件夹再执行一下nvm use xxx就好。 方法三package.json增加配置可行 代码
scripts: {serve: set NODE_OPTIONS--openssl-legacy-provider vue-cli-service serve,build: set NODE_OPTIONS--openssl-legacy-provider vue-cli-service build},
这种方式其实很好我这样更改了package.json之后在命令行用npm run build 或者是 npm run serve 都可以正常走了不会报错。 但因为我们项目需要用HbuilderX编辑器上的运行和发行按钮来操作据我分析HbuilderX应该内部配置了相关的脚本但我还没有找到在哪里否则加上“set NODE_OPTIONS--openssl-legacy-provider ”应该用这种方法也可以轻松解决。 所以如果是用控制台执行脚本来运行和打包推荐第三种而且可以在项目代码里维护好也方便其他同事使用别人用的时候就不会察觉到这个问题了