ionic-team / ionic-team/ionic-cli

bug: -l --external Fails with Node 18

未关闭
#4,839 6 条评论 8 个 reaction 已指派 0 人 在 GitHub 查看
triage
主要语言
TypeScript
星标
2k
派生
682
PR 合并指标
30 天内没有已合并 PR

描述

### Prerequisites

- [X] I have read the [Contributing Guidelines](https://github.com/ionic-team/ionic-framework/blob/main/.github/CONTRIBUTING.md#creating-an-issue).
- [X] I agree to follow the [Code of Conduct](https://ionicframework.com/code-of-conduct).
- [X] I have searched for [existing issues](https://github.com/ionic-team/ionic-framework/issues) that already report this problem, without success.

### Ionic Framework Version

- [ ] v4.x
- [ ] v5.x
- [X] v6.x
- [ ] Nightly

### Current Behavior

On the command `ionic cap run ios -l --external -p 3000` it fails immediately when `npm run ionic:serve -- --host=0.0.0.0 --port=3000` is executed.

```
ERROR] No external network interfaces detected. In order to use the dev server externally you will need one.

Are you connected to a local network?
```

### Expected Behavior

App should be started on the iOS device with live reload.

### Steps to Reproduce

Upgrade to node v18 and run `ionic cap run ios -l --external -p 3000`

### Code Reproduction URL

_No response_

### Ionic Info

```
[WARN] Error loading @capacitor/android package.json: Error: Cannot find module '@capacitor/android/package'

Require stack:
- /usr/local/lib/node_modules/@ionic/cli/lib/project/index.js
- /usr/local/lib/node_modules/@ionic/cli/lib/index.js
- /usr/local/lib/node_modules/@ionic/cli/index.js
- /usr/local/lib/node_modules/@ionic/cli/bin/ionic

Ionic:

Ionic CLI : 6.18.1 (/usr/local/lib/node_modules/@ionic/cli)

Capacitor:

Capacitor CLI : 3.5.0
@capacitor/android : not installed
@capacitor/core : 3.5.0
@capacitor/ios : 3.5.0

Utility:

cordova-res : not installed globally
native-run : 1.5.0

System:

NodeJS : v18.0.0 (/opt/homebrew/Cellar/node/18.0.0/bin/node)
npm : 8.6.0
OS : macOS Monterey
```

### Additional Information

Apple M1 Max running macOS Monterey 12.3 (21E230)

贡献指南

打开贡献指南

调研方向

Reproduce the failure with Node v18 using `ionic cap run ios -l --external -p 3000`, then inspect the Ionic CLI entry point that handles external live-reload networking. Trace the network-interface detection used after `npm run ionic:serve -- --host=0.0.0.0 --port=3000`; done means the iOS app starts with live reload on an external interface.

由索引模型根据 Issue 内容生成。

评估

技术栈
node.js, typescript
领域
cli
Issue 类型
缺陷
难度
3/5
预计耗时
1-2 天
活跃度
停滞
描述清晰度
基本清楚
新手友好度
35/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。