NODE_OPTIONS 中不允许 Laravel TALL npm run dev --openssl-legacy-provider

Pat*_*ros 6 npm laravel laravel-mix

我刚刚在 MacOS 系统上更新了 Laravel 项目的 npm 包(很久以来我一直在 Laravel Homestead 上进行开发,但 npm 对我不起作用),

\n

% npm list

\n

% npm update -D

\n

% npm list比较版本差异

\n

% npm install

\n

还有brew updatebrew upgrade(在 MacOS 上)。

\n

所以我现在得到了以下版本:

\n

% npm -v:8.1.0

\n
\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 @fortawesome/fontawesome-free@5.15.4\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 @tailwindcss/forms@0.3.4\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 @tailwindcss/typography@0.4.1\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 alpinejs@3.4.2\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 axios@0.21.4\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 laravel-mix@6.0.35\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 lodash@4.17.21\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 postcss-import@14.0.2\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 postcss@8.3.11\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 resolve-url-loader@4.0.0\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 sass-loader@12.3.0\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 sass@1.43.4\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 sweetalert2@11.1.9\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 tailwindcss@2.2.17\n
Run Code Online (Sandbox Code Playgroud)\n

当我运行时$ npm run dev没有任何反应,我收到以下消息:

\n
% npm run dev\n\n> dev\n> npm run development\n\n\n> development\n> mix\n\nnode: --openssl-legacy-provider is not allowed in NODE_OPTIONS\n
Run Code Online (Sandbox Code Playgroud)\n

我该怎么做才能修复它?

\n

解决方法

\n

$ npm run dev直接跑进了 Ubuntu Laravel Homestead,它成功了!最后我收到以下消息:

\n
webpack compiled successfully\nnpm notice\nnpm notice New major version of npm available! 7.12.1 -> 8.1.2\nnpm notice Changelog: https://github.com/npm/cli/releases/tag/v8.1.2\nnpm notice Run npm install -g npm@8.1.2 to update!\nnpm notice\n
Run Code Online (Sandbox Code Playgroud)\n

但我不会更新,因为我担心我会遇到同样的错误。

\n

注意:

\n

%=> 我正在 MacOS 上运行。

\n

$=> 我在 Ubuntu 上运行。

\n

更新

\n

我刚刚再次更新了所有内容

\n
% brew update\n% brew upgrade\n
Run Code Online (Sandbox Code Playgroud)\n

然后我又跑了

\n

% npm run dev即使我仍然得到npm -v=> 8.1.0,但我的软件包已更新:

\n
\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 @fortawesome/fontawesome-free@5.15.4\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 @tailwindcss/forms@0.3.4\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 @tailwindcss/typography@0.4.1\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 alpinejs@3.5.0\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 axios@0.21.4\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 laravel-mix@6.0.39\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 lodash@4.17.21\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 postcss-import@14.0.2\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 postcss@8.3.11\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 resolve-url-loader@4.0.0\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 sass-loader@12.3.0\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 sass@1.43.4\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 tailwindcss@2.2.19\n
Run Code Online (Sandbox Code Playgroud)\n

并且它又可以正常工作了!

\n

Ale*_*orb 2

对我来说,原因是节点版本 17。

将节点降级到版本 16 (LTS) 并且它有效。

另请参阅此处的答案/sf/answers/4920029901/