0 info it worked if it ends with ok
1 verbose cli [ '/usr/local/bin/node', '/usr/local/bin/npm', 'start' ]
2 info using npm@2.14.7
3 info using node@v4.2.2
4 verbose run-script [ 'prestart', 'start', 'poststart' ]
5 info prestart xos-ceilometerDashboard@1.0.0
6 verbose unsafe-perm in lifecycle true
7 info start xos-ceilometerDashboard@1.0.0
8 verbose unsafe-perm in lifecycle true
9 info xos-ceilometerDashboard@1.0.0 Failed to exec start script
10 verbose stack Error: xos-ceilometerDashboard@1.0.0 start: `gulp serve`
10 verbose stack Exit status 1
10 verbose stack     at EventEmitter.<anonymous> (/usr/local/lib/node_modules/npm/lib/utils/lifecycle.js:214:16)
10 verbose stack     at emitTwo (events.js:87:13)
10 verbose stack     at EventEmitter.emit (events.js:172:7)
10 verbose stack     at ChildProcess.<anonymous> (/usr/local/lib/node_modules/npm/lib/utils/spawn.js:24:14)
10 verbose stack     at emitTwo (events.js:87:13)
10 verbose stack     at ChildProcess.emit (events.js:172:7)
10 verbose stack     at maybeClose (internal/child_process.js:818:16)
10 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:211:5)
11 verbose pkgid xos-ceilometerDashboard@1.0.0
12 verbose cwd /Users/teone/Sites/xos/xos-apps/auto-scale/gui
13 error Darwin 15.2.0
14 error argv "/usr/local/bin/node" "/usr/local/bin/npm" "start"
15 error node v4.2.2
16 error npm  v2.14.7
17 error code ELIFECYCLE
18 error xos-ceilometerDashboard@1.0.0 start: `gulp serve`
18 error Exit status 1
19 error Failed at the xos-ceilometerDashboard@1.0.0 start script 'gulp serve'.
19 error This is most likely a problem with the xos-ceilometerDashboard package,
19 error not with npm itself.
19 error Tell the author that this fails on your system:
19 error     gulp serve
19 error You can get their info via:
19 error     npm owner ls xos-ceilometerDashboard
19 error There is likely additional logging output above.
20 verbose exit [ 1, true ]
