[
https://issues.apache.org/jira/browse/CB-14198?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Peter Kläs updated CB-14198:
----------------------------
Description:
When running cordova simulate with a specific browser, e.g.
{{simulate android --target=chrome}}
the simulation does not start but instead throws an error:
{{C:\Users\pk\AppData\Roaming\npm\node_modules\cordova-simulate\node_modules\cordova-serve\src\browser.js:224}}
{{ if (fs.existsSync(trimRegPath(result[2]))) {}}
{{ ^}}
{{TypeError: Cannot read property '2' of null}}
{{ at
C:\Users\pk\AppData\Roaming\npm\node_modules\cordova-simulate\node_modules\cordova-serve\src\browser.js:224:57}}
{{ at ChildProcess.exithandler (child_process.js:267:7)}}
{{ at emitTwo (events.js:126:13)}}
{{ at ChildProcess.emit (events.js:214:7)}}
{{ at maybeClose (internal/child_process.js:925:16)}}
{{ at Socket.stream.socket.on (internal/child_process.js:346:11)}}
{{ at emitOne (events.js:116:13)}}
{{ at Socket.emit (events.js:211:7)}}
{{ at Pipe._handle.close [as _onclose] (net.js:557:12)}}
Reason is an language-dependent result from reg.exe when querying the
path/to/browser in the regex line 201 in browser.js.The output from reg.exe for
chrome (parameter stdout) is in my configuration:
{{HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App
Paths\chrome.EXE}}
{{ (*Standard*) REG_SZ C:\Program Files
(x86)\Google\Chrome\Application\chrome.exe}}
But the code expects:
{{HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App
Paths\chrome.EXE}}
{{ (*Default*) REG_SZ C:\Program Files
(x86)\Google\Chrome\Application\chrome.exe}}
To fix, i would suggest changing the regex from
{{var regItemPattern = /\s*\(Default\)\s+(REG_SZ)\s+([^\s].*)\s*/;}}
to
{{var regItemPattern = /\s*\(.*\)\s+(REG_SZ)\s+([^\s].*)\s*/;}}
Regards
Peter
was:
When running cordova simulate with a specific browser, e.g.
{{simulate android --target=chrome}}
the simulation does not start but instead throws an error:
{{C:\Users\pk\AppData\Roaming\npm\node_modules\cordova-simulate\node_modules\cordova-serve\src\browser.js:224}}
{{ if (fs.existsSync(trimRegPath(result[2]))) {}}
{{ ^}}
{{TypeError: Cannot read property '2' of null}}
{{ at
C:\Users\pk\AppData\Roaming\npm\node_modules\cordova-simulate\node_modules\cordova-serve\src\browser.js:224:57}}
{{ at ChildProcess.exithandler (child_process.js:267:7)}}
{{ at emitTwo (events.js:126:13)}}
{{ at ChildProcess.emit (events.js:214:7)}}
{{ at maybeClose (internal/child_process.js:925:16)}}
{{ at Socket.stream.socket.on (internal/child_process.js:346:11)}}
{{ at emitOne (events.js:116:13)}}
{{ at Socket.emit (events.js:211:7)}}
{{ at Pipe._handle.close [as _onclose] (net.js:557:12)}}
Reason is an language-dependent result from reg.exe when querying the
path/to/browser in the regex line 201 in browser.js.
> Error when running simulate with --target parameter on non-US windows 10
> ------------------------------------------------------------------------
>
> Key: CB-14198
> URL: https://issues.apache.org/jira/browse/CB-14198
> Project: Apache Cordova
> Issue Type: Bug
> Components: cordova-serve
> Affects Versions: [email protected]
> Environment: * Windows 10 German Version 1703
> * [email protected]
> * [email protected]
> * [email protected]
> Reporter: Peter Kläs
> Priority: Major
> Labels: windows
>
> When running cordova simulate with a specific browser, e.g.
> {{simulate android --target=chrome}}
> the simulation does not start but instead throws an error:
> {{C:\Users\pk\AppData\Roaming\npm\node_modules\cordova-simulate\node_modules\cordova-serve\src\browser.js:224}}
> {{ if (fs.existsSync(trimRegPath(result[2]))) {}}
> {{ ^}}
> {{TypeError: Cannot read property '2' of null}}
> {{ at
> C:\Users\pk\AppData\Roaming\npm\node_modules\cordova-simulate\node_modules\cordova-serve\src\browser.js:224:57}}
> {{ at ChildProcess.exithandler (child_process.js:267:7)}}
> {{ at emitTwo (events.js:126:13)}}
> {{ at ChildProcess.emit (events.js:214:7)}}
> {{ at maybeClose (internal/child_process.js:925:16)}}
> {{ at Socket.stream.socket.on (internal/child_process.js:346:11)}}
> {{ at emitOne (events.js:116:13)}}
> {{ at Socket.emit (events.js:211:7)}}
> {{ at Pipe._handle.close [as _onclose] (net.js:557:12)}}
> Reason is an language-dependent result from reg.exe when querying the
> path/to/browser in the regex line 201 in browser.js.The output from reg.exe
> for chrome (parameter stdout) is in my configuration:
> {{HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App
> Paths\chrome.EXE}}
> {{ (*Standard*) REG_SZ C:\Program Files
> (x86)\Google\Chrome\Application\chrome.exe}}
> But the code expects:
> {{HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App
> Paths\chrome.EXE}}
> {{ (*Default*) REG_SZ C:\Program Files
> (x86)\Google\Chrome\Application\chrome.exe}}
> To fix, i would suggest changing the regex from
> {{var regItemPattern = /\s*\(Default\)\s+(REG_SZ)\s+([^\s].*)\s*/;}}
> to
> {{var regItemPattern = /\s*\(.*\)\s+(REG_SZ)\s+([^\s].*)\s*/;}}
> Regards
> Peter
>
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]