Nativescript-cli: "TypeError: Path must be a string." on npm i -g nativescript

Created on 9 May 2017  ยท  2Comments  ยท  Source: NativeScript/nativescript-cli

Hello to everybody!
I'm a bit frustrated for the NativeScript installation on my Mac OSX Sierra . .

I have read and followed the 'NativeScript Advanced Setup: macOS' on http://docs.nativescript.org/start/ns-setup-os-x#system-requirements.

I have a problem on 'npm i -g nativescript': there is an error after the 'Exec xcodebuild -version' (see the tns doctor log below), 'TypeError: Path must be a string. Received undefined'.

As you have understood, I'm new on NativeScript.

What can I do??
Tnx to everybody!

Some information:
tns --version: 3.0.0
node --version: v7.10.0

tns doctor --log trace:
Loading extensions.
Exec uname -a
stdout: Darwin Adrianos-MacBook-Pro.local 16.5.0 Darwin Kernel Version 16.5.0: Fri Mar 3 16:52:33 PST 2017; root:xnu-3789.51.2~3/RELEASE_X86_64 x86_64

stderr:
Exec npm -v
stdout: 4.2.0

stderr:
spawn: java "-version"
Exec node-gyp -v
stdout:
stderr: /bin/sh: node-gyp: command not found

Exec xcodebuild -version
stdout: Xcode 8.3.2
Build version 8E2002

stderr:
Exec gem which xcodeproj
stdout: /Library/Ruby/Gems/2.0.0/gems/xcodeproj-1.4.4/lib/xcodeproj.rb

stderr:
Exec pod --version
stdout: 1.2.1

stderr:
Exec null version
stdout:
stderr: /bin/sh: null: command not found

spawn: emulator "-help"
Result when throw error is false:
{ stdout: 'Android Emulator usage: emulator [options] [-qemu args]\n options:\n -list-avds list available AVDs\n -sysdir

search for system disk images in \n -system read initial system image from \n -writable-system make system image writable after \'adb remount\'\n -datadir write user data into \n -kernel use specific emulated kernel\n -ramdisk ramdisk image (default /ramdisk.img\n -image obsolete, use -system instead\n -initdata same as \'-init-data \'\n -data data image (default /userdata-qemu.img\n -partition-size system/data partition size in MBs\n -cache cache partition image (default is temporary file)\n -cache-size cache partition size in MBs\n -no-cache disable the cache partition\n -nocache same as -no-cache\n -sdcard SD card image (default /sdcard.img\n -snapstorage file that contains all state snapshots (default /snapshots.img)\n -no-snapstorage do not mount a snapshot storage file (this disables all snapshot functionality)\n -snapshot name of snapshot within storage file for auto-start and auto-save (default \'default-boot\')\n -no-snapshot perform a full boot and do not do not auto-save, but qemu vmload and vmsave operate on snapstorage\n -no-snapshot-save do not auto-save to snapshot on exit: abandon changed state\n -no-snapshot-load do not auto-start from snapshot: perform a full boot\n -snapshot-list show a list of available snapshots\n -no-snapshot-update-time do not do try to correct snapshot time on restore\n -wipe-data reset the user data image (copy it from initdata)\n -avd use a specific android virtual device\n -skindir search skins in (default /skins)\n -skin select a given skin\n -no-skin deprecated: create an AVD with no skin instead\n -noskin same as -no-skin\n -memory physical RAM size in MBs\n -accel Configure emulation acceleration\n -no-accel Same as \'-accel off\'\n -ranchu Use new emulator backend instead of the classic one\n -engine Select engine. auto|classic|qemu2\n -netspeed maximum network download/upload speeds\n -netdelay network latency emulation\n -netfast disable network shaping\n -code-profile enable code profiling\n -show-kernel display kernel messages\n -shell enable root shell on current terminal\n -no-jni disable JNI checks in the Dalvik runtime\n -nojni same as -no-jni\n -logcat enable logcat output with given tags\n -no-audio disable audio support\n -noaudio same as -no-audio\n -audio use specific audio backend\n -raw-keys disable Unicode keyboard reverse-mapping (deprecated)\n -radio redirect radio modem interface to character device\n -port TCP port that will be used for the console\n -ports , TCP ports used for the console and adb bridge\n -onion use overlay PNG image over screen\n -onion-alpha <%age> specify onion-skin translucency\n -onion-rotation 0|1|2|3 specify onion-skin rotation\n -dpi-device specify device\'s resolution in dpi (default 165)\n -scale scale emulator window (deprecated)\n -http-proxy make TCP connections through a HTTP/HTTPS proxy\n -timezone use this timezone instead of the host\'s default\n -dns-server use this DNS server(s) in the emulated system\n -cpu-delay throttle CPU emulation\n -no-boot-anim disable animation for faster boot\n -no-window disable graphical window display\n -version display emulator version number\n -report-console report console port to remote socket\n -gps redirect NMEA GPS to character device\n -keyset specify keyset file name\n -shell-serial specific character device for root shell\n -tcpdump capture network packets to file\n -bootchart enable bootcharting\n -charmap use specific key character map\n -prop = set system property on boot\n -shared-net-id join the shared network, using IP address 10.1.2.\n -nand-limits enforce NAND/Flash read/write thresholds\n -gpu set hardware OpenGLES emulation mode\n -camera-back set emulation mode for a camera facing back\n -camera-front set emulation mode for a camera facing front\n -webcam-list lists web cameras available for emulation\n -screen set emulated screen mode\n -force-32bit always use 32-bit emulator\n -selinux Set SELinux to either disabled or permissive mode\n -unix-pipe Add to the list of allowed Unix pipes\n -fixed-scale Use fixed 1:1 scale for the initial emulator window.\n\n -qemu args... pass arguments to qemu\n -qemu -h display qemu help\n\n -verbose same as \'-debug-init\'\n -debug enable/disable debug messages\n -debug- enable specific debug messages\n -debug-no- disable specific debug messages\n\n -help print this help\n -help-
question needs more info

Most helpful comment

Hi @BeatPots Can you please run

ls $ANDROID_HOME
ls $ANDROID_HOME/platforms

It looks your ANDROID_HOME variable is not set, points to wrong location or AndroidSDK (or some of its components) is not installed.

All 2 comments

Hi @BeatPots Can you please run

ls $ANDROID_HOME
ls $ANDROID_HOME/platforms

It looks your ANDROID_HOME variable is not set, points to wrong location or AndroidSDK (or some of its components) is not installed.

Tank'you dtopuzov!!
You made my day!
My $ANDROID_HOME was totally wrong!
Now I relaunched the command, it's gone OK!

Thank'you so much! :)

Was this page helpful?
0 / 5 - 0 ratings

Related issues

NickIliev picture NickIliev  ยท  3Comments

Anilinfo2015 picture Anilinfo2015  ยท  3Comments

leevigraham picture leevigraham  ยท  3Comments

erjdriver picture erjdriver  ยท  3Comments

kefahB picture kefahB  ยท  3Comments