Skip to content

TNS doctor does not detect if JDK is not installed and throws an error #1922

@vchimev

Description

@vchimev

NativeScript CLI: 2.1.1
OS: OS X El Capitan

Actual

If no JDK and JAVA_HOME environment variable are available, tns doctor throws an error: Cannot read property``match``of null.

After that, a java prompt leading to www.java.com/en/download/mac_download.jsp appears (see #1863 (comment)) which provides a download of JRE, but not JDK required by NativeScript.

Expected

A clear warning that JDK is not installed or is not configured properly, similarly to Android SDK for example: WARNING: The Android SDK is not installed or is not configured properly.

Output of tns doctor --log trace:

TypeError: Cannot read property 'match' of null
    at FiberFuture.Future.wait (/Users/nsbuilduser/Work/node_modules/nativescript/node_modules/fibers/future.js:566:15)
    at /Users/nsbuilduser/Work/node_modules/nativescript/lib/common/errors.js:123:33
    at Function.settle (/Users/nsbuilduser/Work/node_modules/nativescript/node_modules/fibers/future.js:249:26)
    at FiberFuture.Future.wait (/Users/nsbuilduser/Work/node_modules/nativescript/node_modules/fibers/future.js:565:10)
    at /Users/nsbuilduser/Work/node_modules/nativescript/lib/common/services/commands-service.js:84:106
    at Function.settle (/Users/nsbuilduser/Work/node_modules/nativescript/node_modules/fibers/future.js:249:26)
    at FiberFuture.Future.wait (/Users/nsbuilduser/Work/node_modules/nativescript/node_modules/fibers/future.js:565:10)
    at /Users/nsbuilduser/Work/node_modules/nativescript/lib/common/dispatchers.js:38:85
    at Function.settle (/Users/nsbuilduser/Work/node_modules/nativescript/node_modules/fibers/future.js:249:26)
    at FiberFuture.Future.wait (/Users/nsbuilduser/Work/node_modules/nativescript/node_modules/fibers/future.js:565:10)
    at /Users/nsbuilduser/Work/node_modules/nativescript/lib/nativescript-cli.js:22:45
    - - - - -
    at /Users/nsbuilduser/Work/node_modules/nativescript/lib/common/services/xcode-select-service.js:34:98
    at Function.settle (/Users/nsbuilduser/Work/node_modules/nativescript/node_modules/fibers/future.js:249:26)
    at FiberFuture.Future.wait (/Users/nsbuilduser/Work/node_modules/nativescript/node_modules/fibers/future.js:565:10)
    at /Users/nsbuilduser/Work/node_modules/nativescript/lib/services/xcproj-service.js:35:138
    at Function.settle (/Users/nsbuilduser/Work/node_modules/nativescript/node_modules/fibers/future.js:249:26)
    at FiberFuture.Future.wait (/Users/nsbuilduser/Work/node_modules/nativescript/node_modules/fibers/future.js:565:10)
    at /Users/nsbuilduser/Work/node_modules/nativescript/lib/services/xcproj-service.js:17:52
    at Function.settle (/Users/nsbuilduser/Work/node_modules/nativescript/node_modules/fibers/future.js:249:26)
    at FiberFuture.Future.wait (/Users/nsbuilduser/Work/node_modules/nativescript/node_modules/fibers/future.js:565:10)
    at /Users/nsbuilduser/Work/node_modules/nativescript/lib/services/doctor-service.js:81:62
    at Function.settle (/Users/nsbuilduser/Work/node_modules/nativescript/node_modules/fibers/future.js:249:26)
    at FiberFuture.Future.wait (/Users/nsbuilduser/Work/node_modules/nativescript/node_modules/fibers/future.js:565:10)
    at /Users/nsbuilduser/Work/node_modules/nativescript/lib/common/commands/doctor.js:17:72
    at Function.settle (/Users/nsbuilduser/Work/node_modules/nativescript/node_modules/fibers/future.js:249:26)
    at FiberFuture.Future.wait (/Users/nsbuilduser/Work/node_modules/nativescript/node_modules/fibers/future.js:565:10)
    at /Users/nsbuilduser/Work/node_modules/nativescript/lib/common/services/commands-service.js:51:55
Analytics statuses: 
{ TrackFeatureUsage: 1, TrackExceptions: 1 }
Trying to track feature 'CLI' with value 'help'.
List of registered commands: /?, appstore, appstore|upload, autocomplete, autocomplete|disable, autocomplete|enable, autocomplete|status, build, build|android, build|ios, create, debug, debug|android, debug|ios, deploy, dev-generate-help, dev-generate-messages, dev-post-install, dev-preuninstall, dev-test, dev-test|android, dev-test|ios, device, device|android, device|get-file, device|ios, device|list-applications, device|list-files, device|log, device|put-file, device|run, device|stop, device|uninstall, doctor, emulate, emulate|android, emulate|ios, error-reporting, help, info, init, install, livesync, platform, platform|add, platform|clean, platform|remove, platform|update, plugin, plugin|add, plugin|find, plugin|remove, plugin|search, prepare, publish, publish|ios, run, run|android, run|ios, test, test|android, test|init, test|ios, usage-reporting
Reading help for command 'doctor'. FileName is 'doctor.md'.
# doctor
┌─────────┬──────────────┐
│ Usage   │ Synopsis     │
│ General │ $ tns doctor │
└─────────┴──────────────┘

Checks your system for configuration problems which might prevent the NativeScript CLI from working properly.

Analytics statuses: 
{ TrackFeatureUsage: 1, TrackExceptions: 1 }
Trying to track exception with message 'Cannot read property 'match' of null'.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions