You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Webpack 4+Laravel Mix在Node.js21下执行npm run watch报错求助

解决Node.js 21 + Webpack4/Laravel Mix的"digital envelope routines::unsupported"错误

方案1:临时启用OpenSSL旧提供者(最推荐,无需改代码)

直接在运行命令前追加环境变量,强制Node使用兼容旧算法的OpenSSL模式:

NODE_OPTIONS="--openssl-legacy-provider" npm run watch

如果想让所有命令自动生效,修改项目根目录的package.json脚本:

{
  "scripts": {
    "watch": "NODE_OPTIONS=\"--openssl-legacy-provider\" mix watch",
    "dev": "NODE_OPTIONS=\"--openssl-legacy-provider\" mix",
    "production": "NODE_OPTIONS=\"--openssl-legacy-provider\" mix --production"
  }
}

方案2:修改Webpack与Babel的哈希配置(针对你尝试的hashFunction修改需求)

你之前仅配置了Webpack输出文件的哈希算法,但报错来自babel-loader的缓存逻辑——Babel默认用Node21不支持的md4生成缓存键,所以单独改output.hashFunction无法解决问题。需要同时覆盖Webpack和Babel的哈希设置:

修改webpack.mix.js文件如下:

let mix = require('laravel-mix');

mix.js([
        'resources/assets/js/app.js',
    ], 'public/js')
   .react('resources/assets/js/app.jsx', 'public/js')
   .webpackConfig({
        // 设置Webpack全局哈希算法
        output: {
            hashFunction: 'sha512'
        },
        module: {
            hashFunction: 'sha512'
        },
        // 覆盖Babel-loader的缓存哈希配置
        module: {
            rules: [
                {
                    test: /\.(js|jsx)$/,
                    use: {
                        loader: 'babel-loader',
                        options: {
                            cacheDirectory: true,
                            // 指定缓存使用的哈希算法
                            generatorOpts: {
                                hashFunction: 'sha512'
                            }
                        }
                    },
                    exclude: /node_modules/
                }
            ]
        }
    });

注意:Webpack4对module.hashFunction的支持有限,且Laravel Mix可能会部分覆盖Babel配置,这个方案的稳定性不如方案1。

问题根源说明

Node.js 17及以上版本默认启用OpenSSL 3.0,而Webpack4、旧版Babel-loader依赖的md4哈希算法在新OpenSSL中被标记为不安全并禁用,这就是报错的核心原因。

内容的提问来源于stack exchange,提问作者dns_nx

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 12:59:57