node 升级之后 npm run build 错误

错误信息 Error

Error: error:0308010C:digital envelope routines::unsupported
    at new Hash (node:internal/crypto/hash:67:19)
    at Object.createHash (node:crypto:130:10)

该错误源于您对过时的 SSL 版本的依赖,因此您有两个好的选择和两个最好但值得怀疑的选择:

1. 尝试重新安装依赖项

  • 删除node_modules 文件夹并重新运行 npm install。如果您的依赖项依赖于针对您安装的任何 Node 版本进行编译,这可能会立即解决问题。这是最不可能奏效的解决方案,但可能会在不需要您进行任何“实际”工作的情况下解决问题,因此始终值得一试。

2. 更新依赖项

  • 几乎所有存在此问题的依赖项都有可用的较新版本,您可以安装它们。在 Node 18 成为 Node 的 LTS 版本后,找出您的依赖项对应的版本,并将您的依赖项升级到该版本。

这确实是唯一正确的解决方案:更新您的依赖项,因为就像 Node.js 本身一样,它们可能会使您的项目容易受到攻击和利用。

3. 降级到 Node.js v16。

  • 您可以降级 Node 本身,以便使用使用旧版、不安全的 LibSSL 版本的版本。当然,这并不能“解决”运行不安全且可能被利用的代码的问题,但您的代码至少可以运行。

(您可以使用官方 Node 安装程序执行此操作,也可以使用 nvm 之类的程序。对于 Windows,请使用 nvm-windows。)

显然,这不是一个好主意。

4. 告诉 Node 使用旧版 OpenSSL 提供程序

在类 Unix 上(Linux、macOS、Git bash 等):

export NODE_OPTIONS=--openssl-legacy-provider

在 Windows 命令提示符上:

set NODE_OPTIONS=--openssl-legacy-provider

在 PowerShell 上:

$env:NODE_OPTIONS = "--openssl-legacy-provider"

当 Node 新版本刚刚成为活动 LTS 时,选项 1 和 2 实际上不可用,但对于任何仍在寻找此答案的人来说,3 和 4 不应再被视为任何重要选项。

5. 运行的时候设置NODE_OPTIONS

"build": "set NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service build",

现在可以使用npm run build构建了。

相关推荐

  1. node 升级之后 npm run build 错误

    2024-06-15 10:40:02       69 阅读
  2. 如何升级node.js版本

    2024-06-15 10:40:02       33 阅读
  3. Ubuntu 上升级nodejs 版本

    2024-06-15 10:40:02       64 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-15 10:40:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-15 10:40:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-06-15 10:40:02       82 阅读
  4. Python语言-面向对象

    2024-06-15 10:40:02       91 阅读

热门阅读

  1. vue 中的样式

    2024-06-15 10:40:02       33 阅读
  2. vue面试题

    2024-06-15 10:40:02       38 阅读
  3. C/C++函数指针、C#委托是什么?

    2024-06-15 10:40:02       36 阅读
  4. 富格林:力争打破黑幕安全盈利

    2024-06-15 10:40:02       29 阅读
  5. Leetcode(top100)最长连续序列

    2024-06-15 10:40:02       34 阅读
  6. 微服务与分布式面试题

    2024-06-15 10:40:02       32 阅读
  7. B树与B+树与Mysql innodb的B+树和其相关索引

    2024-06-15 10:40:02       24 阅读