MacOS上编译老版本nodejs代码出现digital envelope routines::unsupported问题 2022-09-08 03:26:17 Steven Xeldax MacOS上在运行npm run build和npm start时候出现报错 ``` node:internal/crypto/hash:67 this[kHandle] = new _Hash(algorithm, xofLen); ^ Error: error:0308010C:digital envelope routines::unsupported ```  Google 了一下发现是 Node JS 17 的 BUG,相关 ISSUE 也给出了解决办法,就是修改package.json,在相关构建命令之前加入set NODE_OPTIONS=--openssl-legacy-provider ``` "build": "set NODE_OPTIONS=--openssl-legacy-provider & webpack --config ./webpack/webpack.build.js", ``` 如果是 Linux 或者 WSL 环境,请加入 ``` export NODE_OPTIONS=--openssl-legacy-provider ``` 加入export的环境变量后成功运行 