在开启 engine-strict 的情况下安装依赖报错： Not compatible with your version of node/npm: undici@6.19.8
### 在此输入你需要反馈的 Bug 具体信息（Bug in Detail）：


# 背景说明

- egg 3 支持 node 14+
- `urllib@^4.3.0` 依赖仅支持 node 18+ 
- 若开启强制引擎检查（`engine-strict=true`），项目安装依赖时，如 node 版本不符合要求安装会进行报错，否则只是警告 ⚠️

# 问题描述

egg 3.28 版本引入了 `urllib@^4.3.0` 依赖 
> 详见 https://github.com/eggjs/egg/pull/5357/files#diff-7ae45ad102eab3b6d7e7896acd08c427a9b25b346470d7bc6507b6481575d519R59

本地 node 版本是 16+，且项目开启了强制引擎检查
```
// .npmrc
engine-strict=true
```

会导致安装依赖的时候报错：
```
npm ERR! code EBADENGINE
npm ERR! engine Unsupported engine
npm ERR! engine Not compatible with your version of node/npm: undici@6.19.8
npm ERR! notsup Not compatible with your version of node/npm: undici@6.19.8
npm ERR! notsup Required: {"node":">=18.17"}
npm ERR! notsup Actual:   {"npm":"8.19.4","node":"v16.20.2"}
```

# 预期

只要本地 node 版本符合 egg 要求，不管是否开启 `engine-strict`，都不应该安装依赖报错

# 解决方案

使用 optionalDependencies 代替 dependencies 引用 urllib4，实现按需安装



### 可复现问题的仓库地址（Reproduction Repo）

[egg-bug.zip](https://github.com/user-attachments/files/17290961/egg-bug.zip)

执行 `npm i` 命令即可复现

### Node 版本号：

16+

### Eggjs 版本号：

3.28

### 相关插件名称与版本号（PlugIn and Name）：

不依赖

### 操作平台与版本号（Platform and Version）：

不依赖