node17+版本兼容性报错digital envelope routines::unsupported

本地node升级成18.x版本后,启动原先的项目会出现报错:digital envelope routines::unsupported

 通过查找原因,这是由于node 17的bug,解决方法如下:

修改package.js,在相关构建命令之前加入set NODE_OPTIONS=--openssl-legacy-provider

 "scripts": {
    "start": "set NODE_OPTIONS=--openssl-legacy-provider && concurrently --kill-others \"nodemon\" \"npm run start:client\"",
    "start:server": "set NODE_OPTIONS=--openssl-legacy-provider && node ./bin/www",
    "start:client": "set NODE_OPTIONS=--openssl-legacy-provider && npm run start --prefix client",
    "build": "set NODE_OPTIONS=--openssl-legacy-provider && npm run build --prefix client",
    "build:run": "set NODE_OPTIONS=--openssl-legacy-provider && npm run build && npm run start:server",
    "dev": "set NODE_OPTIONS=--openssl-legacy-provider && set NODE_ENV=dev && nodemon"
  },

重新启动项目就好了。

posted @   抽风的皮鞭  阅读(911)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示