"ionic serve" command does not work in Windows environment
还没有人认领这个 Issue。
评估
- 难度
- 3/5
- 预计耗时
- 1-2 天
- 新手友好度
- 35/100
- Issue 类型
- 缺陷
- 描述清晰度
- 基本清楚
- 活跃度
- 停滞
- 技术栈
- node.js, typescript
- 领域
- cli
调研方向
在 Windows cmd.exe 中运行 ionic serve --verbose 以重现故障,然后将其与正常工作的直接命令 ng run app:serve --host=0.0.0.0 --port=8100 进行比较。跟踪 ionic serve 的进程调用及其 Windows 处理方式;当 ionic serve 无需 sh 即可成功启动时,即表示完成。
由索引模型根据 Issue 内容生成。
描述
Description:
I am having an error running the simple command of ionic serve natively in Windows. However, ionic cordova build android works fine in the same shell. This is the error that running ionic serve in cmd.exe gives:
ionic serve
> ng run app:serve --host=0.0.0.0 --port=8100
[ng] 'sh' is not recognized as an internal or external command,
[ng] operable program or batch file.
However, running ng run app:serve --host=0.0.0.0 --port=8100 directly works just fine...
The ionic serve command also works properly in Linux through WSL, however, the problem with that approach is that node-sass has to be recompiled with Linux bindings to do this.
Steps to Reproduce:
- Start a new project with
ionic startvia cmd.exe in Windows (with all pre-requisites already successfully installed and configured) - Try to serve up the App with
ionic serve - Note the error
Output:
Below is the more detailed error log running ionic serve --verbose. As can be seen in the log, windows: true is set. However, for some reason, ionic-cli is still trying to execute sh commands in a windows environment?
ionic serve --verbose
ionic:lib Terminal info: { tty: true, ci: false, windows: true } +0ms
ionic:lib CLI global options: { _: [ 'serve' ], help: null, h: null, verbose: true, quiet: null, interactive: true, color: true, confirm: null, json: null, project: null, '--': [] } +9ms
ionic:lib:project Project type from config: @ionic/angular (angular) +0ms
ionic:lib:project Project details: { configPath: 'C:\\Users\\json\\Projects\\test\\ionic.config.json', errors: [], context: 'app', type: 'angular' } +2ms
ionic Context: { binPath: 'C:\\Users\\json\\AppData\\Roaming\\npm\\node_modules\\ionic\\bin\\ionic', libPath: 'C:\\Users\\json\\AppData\\Roaming\\npm\\node_modules\\ionic', execPath: 'C:\\Users\\json\\Projects\\test', version: '4.10.2' } +0ms
ionic:lib:telemetry Sending telemetry for command: 'ionic serve' [ '--verbose', '--interactive', '--color' ] +0ms
ionic:lib:hooks Looking for ionic:serve:before npm script. +0ms
ionic:utils-network checking for open port on 0.0.0.0:8100 +0ms
ionic:utils-network checking for open port on fe80::6187:39a0:932:443b:8100 +12ms
ionic:utils-network checking for open port on 169.254.68.59:8100 +2ms
ionic:utils-network checking for open port on fe80::2174:5154:8963:7486:8100 +2ms
ionic:utils-network checking for open port on 192.168.0.30:8100 +4ms
ionic:utils-network checking for open port on ::1:8100 +2ms
ionic:utils-network checking for open port on 127.0.0.1:8100 +1ms
ionic:lib:serve Looking for ionic:serve npm script. +0ms
> ng run app:serve --host=0.0.0.0 --port=8100
[ng] 'sh' is not recognized as an internal or external command,
[ng] operable program or batch file.
ionic:lib:serve received unexpected close for ng (code: 1) +64ms
[ERROR] ng has unexpectedly closed (exit code 1).
The Ionic CLI will exit. Please check any output above for error details.
ionic:cli-framework:utils:process onBeforeExit handler: process.exit received +0ms
ionic:cli-framework:utils:process onBeforeExit handler: running 1 functions +1ms
ionic:cli-framework:utils:process error while killing process tree for 14276: { Error: Command failed: taskkill /pid 14276 /T /F
ionic:cli-framework:utils:process ERROR: The process "14276" not found.
ionic:cli-framework:utils:process
ionic:cli-framework:utils:process at ChildProcess.exithandler (child_process.js:297:12)
ionic:cli-framework:utils:process at ChildProcess.emit (events.js:197:13)
ionic:cli-framework:utils:process at maybeClose (internal/child_process.js:978:16)
ionic:cli-framework:utils:process at Process.ChildProcess._handle.onexit (internal/child_process.js:265:5)
ionic:cli-framework:utils:process killed: false,
ionic:cli-framework:utils:process code: 128,
ionic:cli-framework:utils:process signal: null,
ionic:cli-framework:utils:process cmd: 'taskkill /pid 14276 /T /F' } +93ms
ionic:cli-framework:utils:process onBeforeExit handler: error from function: { Error: Command failed: taskkill /pid 14276 /T /F
ionic:cli-framework:utils:process ERROR: The process "14276" not found.
ionic:cli-framework:utils:process
ionic:cli-framework:utils:process at ChildProcess.exithandler (child_process.js:297:12)
ionic:cli-framework:utils:process at ChildProcess.emit (events.js:197:13)
ionic:cli-framework:utils:process at maybeClose (internal/child_process.js:978:16)
ionic:cli-framework:utils:process at Process.ChildProcess._handle.onexit (internal/child_process.js:265:5)
ionic:cli-framework:utils:process killed: false,
ionic:cli-framework:utils:process code: 128,
ionic:cli-framework:utils:process signal: null,
ionic:cli-framework:utils:process cmd: 'taskkill /pid 14276 /T /F' } +4ms
ionic:cli-framework:utils:process onBeforeExit handler: exiting (exit code 1) +2ms
My ionic info:
Ionic:
ionic (Ionic CLI) : 4.10.2 (C:\Users\json\AppData\Roaming\npm\node_modules\ionic)
Ionic Framework : @ionic/angular 4.0.1
@angular-devkit/build-angular : 0.12.4
@angular-devkit/schematics : 7.2.4
@angular/cli : 7.2.4
@ionic/angular-toolkit : 1.3.0
Cordova:
cordova (Cordova CLI) : 8.1.2 (cordova-lib@8.1.1)
Cordova Platforms : android 7.1.4
Cordova Plugins : cordova-plugin-ionic-keyboard 2.1.3, cordova-plugin-ionic-webview 3.1.2, (and 4 other plugins)
System:
Android SDK Tools : 26.1.1 (C:\Users\json\AppData\Local\Android\Sdk)
NodeJS : v11.9.0 (C:\Program Files\nodejs\node.exe)
npm : 6.5.0
OS : Windows 10
- 主要语言
- TypeScript
- 星标
- 2k
- 派生
- 681
- PR 合并指标
- 30 天内没有已合并 PR
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
ionic-team/ionic-cli 的其他 Issue
-
triage
难度 1/5 1 小时以内 新手友好度 65/100
ionic-team/ionic-cli#5016 ·
-
triage
难度 5/5 一周以上 新手友好度 15/100
ionic-team/ionic-cli#5131 ·
-
triage
难度 3/5 1-2 天 新手友好度 56/100
ionic-team/ionic-cli#5130 ·
-
triage
难度 3/5 1-2 天 新手友好度 72/100
ionic-team/ionic-cli#5129 ·
-
triage
难度 3/5 1-2 天 新手友好度 42/100
ionic-team/ionic-cli#5127 · 2 条评论 ·
查看 ionic-team/ionic-cli 的全部 Issue
相似的 Issue
-
comp/desktop P3 type/bug
难度 1/5 1 小时以内 新手友好度 92/100
NousResearch/hermes-agent#118866 ·
-
Browser Waiting for: Product Owner
难度 2/5 1-3 小时 新手友好度 85/100
getsentry/sentry-javascript#24577 · 1 条评论 ·
-
难度 2/5 1-3 小时 新手友好度 78/100
agilepathway/label-checker#640 ·
-
Plugin stuck at "loading" on DSH 0.1.6-alpha.2 — turnTail list slot registration missing options.id 未关闭
难度 2/5 1-3 小时 新手友好度 88/100
-
难度 2/5 1-3 小时 新手友好度 68/100
chrisparsons83/flexspotff#153 ·