Skip to content

tns doctor command does not report any information on CircleCI MacOS virtual machines #4383

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
cowboyd opened this issue Feb 22, 2019 · 2 comments
Assignees
Labels
Milestone

Comments

@cowboyd
Copy link

cowboyd commented Feb 22, 2019

Environment
Provide version numbers for the following components (information can be retrieved by running tns info in your project folder or by inspecting the package.json of the project):

The tns info command does not actually report either on the CircleCI vm:

bash-3.2$ yarn tns info
yarn run v1.12.1
$ /Users/distiller/project/node_modules/.bin/tns info
✨  Done in 6.89s.
bash-3.2$

But this is what I get when running it on my local Mac:

❯❯❯❯ yarn tns info                                                 ~/C/F/n/vacation-tracker jc/circle-workflow
yarn run v1.13.0
$ /Users/cowboyd/Code/Frontside/nativescript-playground/vacation-tracker/node_modules/.bin/tns info
✔ Getting NativeScript components versions information...
✔ Component nativescript has 5.2.0 version and is up to date.
✔ Component tns-core-modules has 5.2.1 version and is up to date.
✔ Component tns-android has 5.2.0 version and is up to date.
✔ Component tns-ios has 5.2.0 version and is up to date.
✨  Done in 4.55s.

Describe the bug

tns doctor and other commands do not actually render critical output. For example, this is output of the tns doctor command on a Circle MacOS VM:

bash-3.2$ yarn tns doctor
yarn run v1.12.1
TIP: To avoid setting up the necessary environment variables, you can use the Homebrew package manager to install the Android SDK and its dependencies.

There seem to be issues with your configuration.
You are missing the nativescript-cloud extension and you will not be able to execute cloud builds. Your environment is not configured properly and you will not be able to execute local builds. To continue, choose one of the following options:
Select "Sync to Playground" to enjoy NativeScript without any local setup. All you need is a couple of companion apps installed on your devices.
Select "Configure for Cloud Builds" to install the nativescript-cloud extension and automatically configure your environment for cloud builds.
Select "Configure for Local Builds" to run the setup script and automatically configure your environment for local builds.
Select "Configure for Both Local and Cloud Builds" to automatically configure your environment for both options.
Select "Configure for Both Local and Cloud Builds" to automatically configure your environment for both options.
? To continue, choose one of the following options:  Skip Step and Configure Manually
To be able to build, verify that your environment is configured according to the system requirements described at http://docs.nativescript.org/setup/ns-cli-setup/ns-setup-os-x.html#system-requirements. If you have any questions, check Stack Overflow: 'https://stackoverflow.com/questions/tagged/nativescript' and our public Slack channel: 'https://nativescriptcommunity.slack.com/'
error Command failed with exit code 127.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

Compare this with what I get locally:

❯❯❯❯ yarn tns doctor                                               ~/C/F/n/vacation-tracker jc/circle-workflow
yarn run v1.13.0
✔ Getting environment information

TIP: To avoid setting up the necessary environment variables, you can use the Homebrew package manager to install the Android SDK and its dependencies.

There seem to be issues with your configuration.
✔ Getting NativeScript components versions information...
✔ Component nativescript has 5.2.0 version and is up to date.
✔ Component tns-core-modules has 5.2.1 version and is up to date.
✔ Component tns-android has 5.2.0 version and is up to date.
✔ Component tns-ios has 5.2.0 version and is up to date.
✔ The Android SDK is installed.
✔ Javac is installed and is configured properly.
✔ The Java Development Kit (JDK) is installed and is configured properly.
✔ Xcode is installed and is configured properly.
✔ xcodeproj is installed and is configured properly.
✔ CocoaPods are installed.
✔ CocoaPods update is not required.
✔ CocoaPods are configured properly.
✔ Your current CocoaPods version is newer than 1.0.0.
✔ Python installed and configured correctly.
✔ The Python 'six' package is found.
✔ Xcode version 10.1.0 satisfies minimum required version 9.
✖ The ANDROID_HOME environment variable is not set or it points to a non-existent directory. You will not be able to perform any build-related operations for Android.
 To be able to perform Android build-related operations, set the `ANDROID_HOME` variable to point to the root of your Android SDK installation directory.

✖ WARNING: adb from the Android SDK is not installed or is not configured properly.
 For Android-related operations, the NativeScript CLI will use a built-in version of adb.
To avoid possible issues with the native Android emulator, Genymotion or connected
Android devices, verify that you have installed the latest Android SDK and
its dependencies as described in http://developer.android.com/sdk/index.html#Requirements

✖ Cannot find a compatible Android SDK for compilation. To be able to build for Android, install Android SDK 28 or later.
 Run `$ sdkmanager` to manage your Android SDK versions.

✖ You need to have the Android SDK Build-tools installed on your system. You can install any version in the following range: '>=23 <=28'.
 Run `$ sdkmanager` from your command-line to install required `Android Build Tools`. In case you already have them installed, make sure `ANDROID_HOME` environment variable is set correctly.

You have nativescript-cloud extension installed, so you can execute cloud builds, but your environment is not configured properly and you will not be able to execute local builds. To continue, choose one of the following options:
Select "Sync to Playground" to enjoy NativeScript without any local setup. All you need is a couple of companion apps installed on your devices.
Select "Configure for Local Builds" to run the setup script and automatically configure your environment for local builds.
Select "Skip Step and Configure Manually" to disregard this option and install any required components manually.
? To continue, choose one of the following options:  Skip Step and Configure Manually
To be able to build, verify that your environment is configured according to the system requirements described at http://docs.nativescript.org/setup/ns-cli-setup/ns-setup-os-x.html#system-requirements. If you have any questions, check Stack Overflow: 'https://stackoverflow.com/questions/tagged/nativescript' and our public Slack channel: 'https://nativescriptcommunity.slack.com/'
error Command failed with exit code 127.

To Reproduce
SSH into a CircleCI virtual machine and run the command tns doctor

I'd be happy to work with anybody wanting to ssh into this virtual machine and debug it.

Expected behavior

tns doctor command logs diagnostics to console.

Sample project

Additional context

@rosen-vladimirov
Copy link
Contributor

Hey @cowboyd ,
Thank you very much for bringing this issue to our attention. We have investigated it and applied a fix, that will be released with NativeScript CLI 5.2.1. You can test it immediately by installing rc version of CLI: npm install -g nativescript@rc
You can find more information what causes the issue in the related PR: #4404

@cowboyd
Copy link
Author

cowboyd commented Feb 27, 2019

Thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

5 participants