【问题标题】:Laravel migration to mix drops invalid NODE_OPTIONS env variable: --openssl-legacy-provider is not allowedLaravel 迁移以混合丢弃无效的 NODE_OPTIONS 环境变量:不允许 --openssl-legacy-provider
【发布时间】:2022-01-11 21:49:51
【问题描述】:

当我运行 yarn run dev 时它编译没有任何问题,但是当我运行 yarn run prod 时出现以下错误:

✖ Mix
  Compiled with some errors in 21.47s

ERROR in /js/app.js
/js/app.js from Terser plugin
Initiated Worker with invalid NODE_OPTIONS env variable: --openssl-legacy-provider is not allowed in NODE_OPTIONS
Error [ERR_WORKER_INVALID_EXEC_ARGV]: Initiated Worker with invalid NODE_OPTIONS env variable: --openssl-legacy-provider is not allowed in NODE_OPTIONS
    at new NodeError (node:internal/errors:371:5)
    at new Worker (node:internal/worker:194:13)
    at ExperimentalWorker.initialize (/var/www/dashboard-v2/node_modules/jest-worker/build/workers/NodeThreadsWorker.js:149:20)
    at new ExperimentalWorker (/var/www/dashboard-v2/node_modules/jest-worker/build/workers/NodeThreadsWorker.js:145:10)
    at WorkerPool.createWorker (/var/www/dashboard-v2/node_modules/jest-worker/build/WorkerPool.js:44:12)
    at new BaseWorkerPool (/var/www/dashboard-v2/node_modules/jest-worker/build/base/BaseWorkerPool.js:127:27)
    at new WorkerPool (/var/www/dashboard-v2/node_modules/jest-worker/build/WorkerPool.js:30:1)
    at new Worker (/var/www/dashboard-v2/node_modules/jest-worker/build/index.js:167:26)
    at getWorker (/var/www/dashboard-v2/node_modules/terser-webpack-plugin/dist/index.js:391:9)
    at /var/www/dashboard-v2/node_modules/terser-webpack-plugin/dist/index.js:494:41
    at next (/var/www/dashboard-v2/node_modules/terser-webpack-plugin/dist/utils.js:90:7)
    at Array.forEach (<anonymous>)
    at /var/www/dashboard-v2/node_modules/terser-webpack-plugin/dist/utils.js:93:26
    at new Promise (<anonymous>)
    at throttleAll (/var/www/dashboard-v2/node_modules/terser-webpack-plugin/dist/utils.js:62:10)
    at TerserPlugin.optimize (/var/www/dashboard-v2/node_modules/terser-webpack-plugin/dist/index.js:651:34)

webpack compiled with 1 error
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
root@fe7a5c6ae6f9:/var/www/dashboard-v2# 

我已经删除了所有从 0 开始安装的 node_modules,全部更新到最新的还是一样的。知道如何解决这个问题吗?

【问题讨论】:

  • 我在当前版本的 node.js (17.20) 上遇到了同样的问题。我降级到 LTS 版本(16.13),它再次完美运行。
  • Thx 会试试这个。我开箱即用地创建了一个新的 laravel 8 并得到了同样的错误。不知道为什么它被视为依赖项,我可以看到所有内容都是最新版本。

标签: node-modules laravel-mix


【解决方案1】:

Node v17.x 给出了这个问题。

我建议您切换到 v16。在 Linux 上很简单,您只需在系统上重新选择旧版本即可:

sudo n

它会显示系统上的旧版本,如果有的话,你可以切换到。如果您没有找到任何 v16,则必须手动安装它。

【讨论】:

    【解决方案2】:

    确实尝试了很多事情,一个选项是按照 usernotnull 的建议将节点恢复到 v16,但想找出真正的问题。

    如果它是 php 7.4 或更低版本,它会尝试加载依赖项,当将 php 升级到 8 并且在 cli 上,错误也消失了。

    还从 laravel 7 升级到 8,need to update the dependencies

    升级后这样做也不错,没有缓存或左视图:

    php artisan config:clear
    php artisan cache:clear
    composer dump-autoload
    php artisan view:clear
    php artisan route:clear
    

    从那以后一切正常,没有出现上述错误。

    【讨论】:

      猜你喜欢
      • 2022-10-17
      • 2021-12-14
      • 2021-12-25
      • 1970-01-01
      • 2020-07-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多