具体安装参考官方教程:http://image.robostore.me/RoboWare%20Viewer/files/v1.0.0RoboWare_Viewer_Manual_0.10.38_CHS.pdf
错误一:
npm WARN prefer global node-ninja@1.0.2 should be installed with -g
npm WARN prefer global node-gyp@3.4.0 should be installed with -g
解决方案:
$ sudo npm install node-ninjia node-gyp -g
或者重装npm最新版本:
sudo npm install npm@latest -g
错误二:
> kerberos@0.0.23 install /home/josh/RoboWare-Viewer-Bridge/node_modules/kerberos
> (node-gyp rebuild) || (exit 0)
make: Entering directory '/home/josh/RoboWare-Viewer-Bridge/node_modules/kerberos/build'
CXX(target) Release/obj.target/kerberos/lib/kerberos.o
CXX(target) Release/obj.target/kerberos/lib/worker.o
CC(target) Release/obj.target/kerberos/lib/kerberosgss.o
../lib/kerberosgss.c:36:0: warning: ignoring #pragma clang diagnostic [-Wunknown-pragmas]
#pragma clang diagnostic push
^
../lib/kerberosgss.c:37:0: warning: ignoring #pragma clang diagnostic [-Wunknown-pragmas]
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
^
../lib/kerberosgss.c: In function ‘authenticate_gss_client_wrap’:
../lib/kerberosgss.c:446:19: warning: variable ‘server_conf_flags’ set but not used [-Wunused-but-set-variable]
char buf[4096], server_conf_flags;
^
../lib/kerberosgss.c: At top level:
../lib/kerberosgss.c:1236:0: warning: ignoring #pragma clang diagnostic [-Wunknown-pragmas]
#pragma clang diagnostic pop
^
CC(target) Release/obj.target/kerberos/lib/base64.o
CXX(target) Release/obj.target/kerberos/lib/kerberos_context.o
SOLINK_MODULE(target) Release/obj.target/kerberos.node
/usr/bin/ld: 找不到 -lkrb5
/usr/bin/ld: 找不到 -lgssapi_krb5
collect2: error: ld returned 1 exit status
kerberos.target.mk:137: recipe for target 'Release/obj.target/kerberos.node' failed
make: *** [Release/obj.target/kerberos.node] Error 1
make: Leaving directory '/home/josh/RoboWare-Viewer-Bridge/node_modules/kerberos/build'
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:276:23)
gyp ERR! stack at emitTwo (events.js:106:13)
gyp ERR! stack at ChildProcess.emit (events.js:191:7)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:219:12)
gyp ERR! System Linux 4.4.0-97-generic
gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /home/josh/RoboWare-Viewer-Bridge/node_modules/kerberos
gyp ERR! node -v v6.11.4
gyp ERR! node-gyp -v v3.4.0
gyp ERR! not ok
> dtrace-provider@0.6.0 install /home/josh/RoboWare-Viewer-Bridge/node_modules/dtrace-provider
> node scripts/install.js
> fs-ext@0.5.0 install /home/josh/RoboWare-Viewer-Bridge/node_modules/fs-ext
> node-gyp configure build
make: Entering directory '/home/josh/RoboWare-Viewer-Bridge/node_modules/fs-ext/build'
CXX(target) Release/obj.target/fs-ext/fs-ext.o
../fs-ext.cc: In function ‘void EIO_After(uv_work_t*)’:
../fs-ext.cc:108:20: warning: ‘v8::Local<v8::Value> Nan::NanErrnoException(int, const char*, const char*, const char*)’ is deprecated [-Wdeprecated-declarations]
argv[0] = Nan::NanErrnoException(store_data->error);
^
In file included from ../fs-ext.cc:27:0:
../../nan/nan.h:882:46: note: declared here
NAN_DEPRECATED inline v8::Local<v8::Value> NanErrnoException(
^
../fs-ext.cc:108:20: warning: ‘v8::Local<v8::Value> Nan::NanErrnoException(int, const char*, const char*, const char*)’ is deprecated [-Wdeprecated-declarations]
argv[0] = Nan::NanErrnoException(store_data->error);
^
In file included from ../fs-ext.cc:27:0:
../../nan/nan.h:882:46: note: declared here
NAN_DEPRECATED inline v8::Local<v8::Value> NanErrnoException(
^
../fs-ext.cc:108:55: warning: ‘v8::Local<v8::Value> Nan::NanErrnoException(int, const char*, const char*, const char*)’ is deprecated [-Wdeprecated-declarations]
argv[0] = Nan::NanErrnoException(store_data->error);
^
In file included from ../fs-ext.cc:27:0:
../../nan/nan.h:882:46: note: declared here
NAN_DEPRECATED inline v8::Local<v8::Value> NanErrnoException(
^
../fs-ext.cc: In function ‘Nan::NAN_METHOD_RETURN_TYPE Flock(Nan::NAN_METHOD_ARGS_TYPE)’:
../fs-ext.cc:297:45: warning: ‘v8::Local<v8::Value> Nan::NanErrnoException(int, const char*, const char*, const char*)’ is deprecated [-Wdeprecated-declarations]
if (i != 0) return Nan::ThrowError(Nan::NanErrnoException(errno));
^
In file included from ../fs-ext.cc:27:0:
../../nan/nan.h:882:46: note: declared here
NAN_DEPRECATED inline v8::Local<v8::Value> NanErrnoException(
^
../fs-ext.cc:297:45: warning: ‘v8::Local<v8::Value> Nan::NanErrnoException(int, const char*, const char*, const char*)’ is deprecated [-Wdeprecated-declarations]
if (i != 0) return Nan::ThrowError(Nan::NanErrnoException(errno));
^
In file included from ../fs-ext.cc:27:0:
../../nan/nan.h:882:46: note: declared here
NAN_DEPRECATED inline v8::Local<v8::Value> NanErrnoException(
^
../fs-ext.cc:297:68: warning: ‘v8::Local<v8::Value> Nan::NanErrnoException(int, const char*, const char*, const char*)’ is deprecated [-Wdeprecated-declarations]
if (i != 0) return Nan::ThrowError(Nan::NanErrnoException(errno));
^
In file included from ../fs-ext.cc:27:0:
../../nan/nan.h:882:46: note: declared here
NAN_DEPRECATED inline v8::Local<v8::Value> NanErrnoException(
^
../fs-ext.cc: In function ‘Nan::NAN_METHOD_RETURN_TYPE Seek(Nan::NAN_METHOD_ARGS_TYPE)’:
../fs-ext.cc:339:56: warning: ‘v8::Local<v8::Value> Nan::NanErrnoException(int, const char*, const char*, const char*)’ is deprecated [-Wdeprecated-declarations]
if (offs_result == -1) return Nan::ThrowError(Nan::NanErrnoException(errno)
^
In file included from ../fs-ext.cc:27:0:
../../nan/nan.h:882:46: note: declared here
NAN_DEPRECATED inline v8::Local<v8::Value> NanErrnoException(
^
../fs-ext.cc:339:56: warning: ‘v8::Local<v8::Value> Nan::NanErrnoException(int, const char*, const char*, const char*)’ is deprecated [-Wdeprecated-declarations]
if (offs_result == -1) return Nan::ThrowError(Nan::NanErrnoException(errno)
^
In file included from ../fs-ext.cc:27:0:
../../nan/nan.h:882:46: note: declared here
NAN_DEPRECATED inline v8::Local<v8::Value> NanErrnoException(
^
../fs-ext.cc:339:79: warning: ‘v8::Local<v8::Value> Nan::NanErrnoException(int, const char*, const char*, const char*)’ is deprecated [-Wdeprecated-declarations]
if (offs_result == -1) return Nan::ThrowError(Nan::NanErrnoException(errno));
^
In file included from ../fs-ext.cc:27:0:
../../nan/nan.h:882:46: note: declared here
NAN_DEPRECATED inline v8::Local<v8::Value> NanErrnoException(
^
../fs-ext.cc: In function ‘Nan::NAN_METHOD_RETURN_TYPE Fcntl(Nan::NAN_METHOD_ARGS_TYPE)’:
../fs-ext.cc:375:51: warning: ‘v8::Local<v8::Value> Nan::NanErrnoException(int, const char*, const char*, const char*)’ is deprecated [-Wdeprecated-declarations]
if (result == -1) return Nan::ThrowError(Nan::NanErrnoException(errno));
^
In file included from ../fs-ext.cc:27:0:
../../nan/nan.h:882:46: note: declared here
NAN_DEPRECATED inline v8::Local<v8::Value> NanErrnoException(
^
../fs-ext.cc:375:51: warning: ‘v8::Local<v8::Value> Nan::NanErrnoException(int, const char*, const char*, const char*)’ is deprecated [-Wdeprecated-declarations]
if (result == -1) return Nan::ThrowError(Nan::NanErrnoException(errno));
^
In file included from ../fs-ext.cc:27:0:
../../nan/nan.h:882:46: note: declared here
NAN_DEPRECATED inline v8::Local<v8::Value> NanErrnoException(
^
../fs-ext.cc:375:74: warning: ‘v8::Local<v8::Value> Nan::NanErrnoException(int, const char*, const char*, const char*)’ is deprecated [-Wdeprecated-declarations]
if (result == -1) return Nan::ThrowError(Nan::NanErrnoException(errno));
^
In file included from ../fs-ext.cc:27:0:
../../nan/nan.h:882:46: note: declared here
NAN_DEPRECATED inline v8::Local<v8::Value> NanErrnoException(
^
../fs-ext.cc: In function ‘Nan::NAN_METHOD_RETURN_TYPE UTime(Nan::NAN_METHOD_ARGS_TYPE)’:
../fs-ext.cc:433:47: warning: ‘v8::Local<v8::Value> Nan::NanErrnoException(int, const char*, const char*, const char*)’ is deprecated [-Wdeprecated-declarations]
if (ret != 0) return Nan::ThrowError(Nan::NanErrnoException(errno, "utime",
^
In file included from ../fs-ext.cc:27:0:
../../nan/nan.h:882:46: note: declared here
NAN_DEPRECATED inline v8::Local<v8::Value> NanErrnoException(
^
../fs-ext.cc:433:47: warning: ‘v8::Local<v8::Value> Nan::NanErrnoException(int, const char*, const char*, const char*)’ is deprecated [-Wdeprecated-declarations]
if (ret != 0) return Nan::ThrowError(Nan::NanErrnoException(errno, "utime",
^
In file included from ../fs-ext.cc:27:0:
../../nan/nan.h:882:46: note: declared here
NAN_DEPRECATED inline v8::Local<v8::Value> NanErrnoException(
^
../fs-ext.cc:433:90: warning: ‘v8::Local<v8::Value> Nan::NanErrnoException(int, const char*, const char*, const char*)’ is deprecated [-Wdeprecated-declarations]
= 0) return Nan::ThrowError(Nan::NanErrnoException(errno, "utime", "", *path));
^
In file included from ../fs-ext.cc:27:0:
../../nan/nan.h:882:46: note: declared here
NAN_DEPRECATED inline v8::Local<v8::Value> NanErrnoException(
^
../fs-ext.cc: In function ‘Nan::NAN_METHOD_RETURN_TYPE StatVFS(Nan::NAN_METHOD_ARGS_TYPE)’:
../fs-ext.cc:469:47: warning: ‘v8::Local<v8::Value> Nan::NanErrnoException(int, const char*, const char*, const char*)’ is deprecated [-Wdeprecated-declarations]
if (ret != 0) return Nan::ThrowError(Nan::NanErrnoException(errno, "statvfs
^
In file included from ../fs-ext.cc:27:0:
../../nan/nan.h:882:46: note: declared here
NAN_DEPRECATED inline v8::Local<v8::Value> NanErrnoException(
^
../fs-ext.cc:469:47: warning: ‘v8::Local<v8::Value> Nan::NanErrnoException(int, const char*, const char*, const char*)’ is deprecated [-Wdeprecated-declarations]
if (ret != 0) return Nan::ThrowError(Nan::NanErrnoException(errno, "statvfs
^
In file included from ../fs-ext.cc:27:0:
../../nan/nan.h:882:46: note: declared here
NAN_DEPRECATED inline v8::Local<v8::Value> NanErrnoException(
^
../fs-ext.cc:469:92: warning: ‘v8::Local<v8::Value> Nan::NanErrnoException(int, const char*, const char*, const char*)’ is deprecated [-Wdeprecated-declarations]
0) return Nan::ThrowError(Nan::NanErrnoException(errno, "statvfs", "", *path));
^
In file included from ../fs-ext.cc:27:0:
../../nan/nan.h:882:46: note: declared here
NAN_DEPRECATED inline v8::Local<v8::Value> NanErrnoException(
^
SOLINK_MODULE(target) Release/obj.target/fs-ext.node
COPY Release/fs-ext.node
make: Leaving directory '/home/josh/RoboWare-Viewer-Bridge/node_modules/fs-ext/build'
> snappy@5.0.5 install /home/josh/RoboWare-Viewer-Bridge/node_modules/snappy
> node-gyp rebuild
make: Entering directory '/home/josh/RoboWare-Viewer-Bridge/node_modules/snappy/build'
CXX(target) Release/obj.target/snappy/deps/snappy/snappy-1.1.2/snappy-sinksource.o
CXX(target) Release/obj.target/snappy/deps/snappy/snappy-1.1.2/snappy-stubs-internal.o
CXX(target) Release/obj.target/snappy/deps/snappy/snappy-1.1.2/snappy.o
AR(target) Release/obj.target/deps/snappy/snappy.a
COPY Release/snappy.a
CXX(target) Release/obj.target/binding/src/binding.o
SOLINK_MODULE(target) Release/obj.target/binding.node
COPY Release/binding.node
make: Leaving directory '/home/josh/RoboWare-Viewer-Bridge/node_modules/snappy/build'
> leveldown@1.4.6 install /home/josh/RoboWare-Viewer-Bridge/node_modules/leveldown
> prebuild --install
> zmq@2.15.3 install /home/josh/RoboWare-Viewer-Bridge/node_modules/zmq
> node-gyp rebuild
make: Entering directory '/home/josh/RoboWare-Viewer-Bridge/node_modules/zmq/build'
CXX(target) Release/obj.target/zmq/binding.o
../binding.cc:28:17: fatal error: zmq.h: 没有那个文件或目录
compilation terminated.
zmq.target.mk:94: recipe for target 'Release/obj.target/zmq/binding.o' failed
make: *** [Release/obj.target/zmq/binding.o] Error 1
make: Leaving directory '/home/josh/RoboWare-Viewer-Bridge/node_modules/zmq/build'
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:276:23)
gyp ERR! stack at emitTwo (events.js:106:13)
gyp ERR! stack at ChildProcess.emit (events.js:191:7)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:219:12)
gyp ERR! System Linux 4.4.0-97-generic
gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /home/josh/RoboWare-Viewer-Bridge/node_modules/zmq
gyp ERR! node -v v6.11.4
gyp ERR! node-gyp -v v3.4.0
gyp ERR! not ok
roboware_viewer_bridge@1.0.0 /home/josh/RoboWare-Viewer-Bridge
├─┬ argparse@1.0.7
│ └── sprintf-js@1.0.3
├─┬ async@2.0.1
│ └── lodash@4.17.4
├── bn.js@4.11.8
├─┬ body-parser@1.18.2
│ ├── bytes@3.0.0
│ ├── content-type@1.0.4
│ ├─┬ debug@2.6.9
│ │ └── ms@2.0.0
│ ├── depd@1.1.1
│ ├─┬ http-errors@1.6.2
│ │ ├── inherits@2.0.3
│ │ └── setprototypeof@1.0.3
│ ├── iconv-lite@0.4.19
│ ├─┬ on-finished@2.3.0
│ │ └── ee-first@1.1.1
│ ├── qs@6.5.1
│ ├─┬ raw-body@2.3.2
│ │ └── unpipe@1.0.0
│ └─┬ type-is@1.6.15
│ └── media-typer@0.3.0
├─┬ bunyan@1.8.1
│ ├─┬ dtrace-provider@0.6.0
│ │ └── nan@2.7.0
│ ├─┬ mv@2.1.1
│ │ ├── ncp@2.0.0
│ │ └─┬ rimraf@2.4.5
│ │ └─┬ glob@6.0.4
│ │ ├── inflight@1.0.6
│ │ └── path-is-absolute@1.0.1
│ └── safe-json-stringify@1.0.4
├─┬ cookie-parser@1.4.3
│ ├── cookie@0.3.1
│ └── cookie-signature@1.0.6
├─┬ express@4.16.2
│ ├─┬ accepts@1.3.4
│ │ └── negotiator@0.6.1
│ ├── array-flatten@1.1.1
│ ├── content-disposition@0.5.2
│ ├── encodeurl@1.0.1
│ ├── escape-html@1.0.3
│ ├── etag@1.8.1
│ ├── finalhandler@1.1.0
│ ├── fresh@0.5.2
│ ├── merge-descriptors@1.0.1
│ ├── methods@1.1.2
│ ├── parseurl@1.3.2
│ ├── path-to-regexp@0.1.7
│ ├─┬ proxy-addr@2.0.2
│ │ ├── forwarded@0.1.2
│ │ └── ipaddr.js@1.5.2
│ ├── range-parser@1.2.0
│ ├── safe-buffer@5.1.1
│ ├─┬ send@0.16.1
│ │ ├── destroy@1.0.4
│ │ └── mime@1.4.1
│ ├── serve-static@1.13.1
│ ├── setprototypeof@1.1.0
│ ├── statuses@1.3.1
│ ├── utils-merge@1.0.1
│ └── vary@1.1.2
├─┬ md5@2.1.0
│ ├── charenc@0.0.2
│ ├── crypt@0.0.2
│ └── is-buffer@1.1.5
├── moment@2.12.0
├─┬ mosca@2.5.2
│ ├── amqp@0.2.6
│ ├── array-from@2.1.1
│ ├─┬ ascoltatori@3.2.0
│ │ ├─┬ amqplib@0.4.2
│ │ │ ├── bitsyntax@0.0.4
│ │ │ ├── buffer-more-ints@0.0.2
│ │ │ └── when@3.6.4
│ │ ├── eventemitter2@2.2.2
│ │ ├─┬ ioredis@2.5.0
│ │ │ ├── bluebird@3.5.1
│ │ │ ├── cluster-key-slot@1.0.8
│ │ │ ├── redis-commands@1.3.1
│ │ │ └── redis-parser@1.3.0
│ │ ├─┬ kafka-node@0.5.9
│ │ │ ├── async@1.5.2
│ │ │ ├─┬ binary@0.3.0
│ │ │ │ ├── buffers@0.1.1
│ │ │ │ └─┬ chainsaw@0.1.0
│ │ │ │ └── traverse@0.3.9
│ │ │ ├── buffer-crc32@0.2.13
│ │ │ ├─┬ buffermaker@1.2.0
│ │ │ │ └── long@1.1.2
│ │ │ ├── lodash@3.10.1
│ │ │ ├── nested-error-stacks@1.0.2
│ │ │ ├─┬ node-zookeeper-client@0.2.2
│ │ │ │ ├── async@0.2.10
│ │ │ │ └── underscore@1.4.4
│ │ │ ├── optional@0.1.4
│ │ │ ├── retry@0.6.1
│ │ │ └─┬ snappy@5.0.5
│ │ │ └── nan@2.3.5
│ │ ├─┬ kerberos@0.0.23
│ │ │ └── nan@2.5.1
│ │ ├─┬ msgpack-lite@0.1.26
│ │ │ ├── event-lite@0.1.1
│ │ │ ├── ieee754@1.1.8
│ │ │ ├── int64-buffer@0.1.9
│ │ │ └── isarray@1.0.0
│ │ ├── node-uuid@1.4.8
│ │ └─┬ qlobber-fsq@3.2.4
│ │ ├── async@1.5.2
│ │ └── fs-ext@0.5.0
│ ├─┬ brfs@1.4.3
│ │ ├─┬ quote-stream@1.0.2
│ │ │ ├── buffer-equal@0.0.1
│ │ │ └── minimist@1.2.0
│ │ ├─┬ resolve@1.4.0
│ │ │ └── path-parse@1.0.5
│ │ ├─┬ static-module@1.5.0
│ │ │ ├── duplexer2@0.0.2
│ │ │ ├─┬ escodegen@1.3.3
│ │ │ │ ├── esprima@1.1.1
│ │ │ │ ├── estraverse@1.5.1
│ │ │ │ ├── esutils@1.0.0
│ │ │ │ └─┬ source-map@0.1.43
│ │ │ │ └── amdefine@1.0.1
│ │ │ ├─┬ falafel@2.1.0
│ │ │ │ ├── acorn@5.1.2
│ │ │ │ └── foreach@2.0.5
│ │ │ ├── has@1.0.1
│ │ │ ├── object-inspect@0.4.0
│ │ │ ├── quote-stream@0.0.0
│ │ │ ├── readable-stream@1.0.34
│ │ │ ├── shallow-copy@0.0.1
│ │ │ ├─┬ static-eval@0.2.4
│ │ │ │ └─┬ escodegen@0.0.28
│ │ │ │ ├── esprima@1.0.4
│ │ │ │ └── estraverse@1.3.2
│ │ │ └─┬ through2@0.4.2
│ │ │ └─┬ xtend@2.1.2
│ │ │ └── object-keys@0.4.0
│ │ └─┬ through2@2.0.3
│ │ └─┬ readable-stream@2.3.3
│ │ ├── isarray@1.0.0
│ │ └── string_decoder@1.0.3
│ ├── clone@1.0.2
│ ├─┬ commander@2.9.0
│ │ └── graceful-readlink@1.0.1
│ ├── deepcopy@0.6.3
│ ├── extend@3.0.1
│ ├─┬ ioredis@1.15.1
│ │ ├── bluebird@2.11.0
│ │ ├── double-ended-queue@2.1.0-0
│ │ ├── flexbuffer@0.0.6
│ │ └── lodash@3.10.1
│ ├── json-buffer@2.0.11
│ ├── jsonschema@1.2.0
│ ├─┬ level-sublevel@6.6.1
│ │ ├─┬ bytewise@1.1.0
│ │ │ ├─┬ bytewise-core@1.2.3
│ │ │ │ └── typewise-core@1.2.0
│ │ │ └── typewise@1.0.3
│ │ ├─┬ levelup@0.19.1
│ │ │ ├── bl@0.8.2
│ │ │ ├─┬ deferred-leveldown@0.2.0
│ │ │ │ └─┬ abstract-leveldown@0.12.4
│ │ │ │ └── xtend@3.0.0
│ │ │ ├── errno@0.1.4
│ │ │ ├── prr@0.0.0
│ │ │ ├── readable-stream@1.0.34
│ │ │ ├── semver@5.1.1
│ │ │ └── xtend@3.0.0
│ │ ├── ltgt@2.1.3
│ │ ├─┬ pull-level@2.0.3
│ │ │ ├── level-post@1.0.5
│ │ │ ├── pull-cat@1.1.11
│ │ │ ├── pull-live@1.0.1
│ │ │ ├── pull-pushable@2.1.1
│ │ │ ├─┬ pull-window@2.1.4
│ │ │ │ └── looper@2.0.0
│ │ │ └─┬ stream-to-pull-stream@1.7.2
│ │ │ └── looper@3.0.0
│ │ ├── pull-stream@3.6.1
│ │ └── typewiselite@1.0.0
│ ├─┬ leveldown@1.4.6
│ │ ├── abstract-leveldown@2.4.1
│ │ ├── bindings@1.2.1
│ │ ├── fast-future@1.0.2
│ │ ├── nan@2.3.5
│ │ └─┬ prebuild@4.5.0
│ │ ├── async@1.5.2
│ │ ├─┬ execspawn@1.0.1
│ │ │ └── util-extend@1.0.3
│ │ ├── expand-template@1.1.0
│ │ ├─┬ ghreleases@1.0.6
│ │ │ ├── after@0.8.2
│ │ │ ├── ghrepos@2.0.0
│ │ │ ├─┬ ghutils@3.2.1
│ │ │ │ └─┬ jsonist@1.3.0
│ │ │ │ ├─┬ bl@1.0.3
│ │ │ │ │ └─┬ readable-stream@2.0.6
│ │ │ │ │ └── isarray@1.0.0
│ │ │ │ └─┬ hyperquest@1.2.0
│ │ │ │ └─┬ through2@0.6.5
│ │ │ │ └── readable-stream@1.0.34
│ │ │ ├── simple-mime@0.1.0
│ │ │ └── url-template@2.0.8
│ │ ├── github-from-package@0.0.0
│ │ ├── minimist@1.2.0
│ │ ├─┬ node-gyp@3.4.0
│ │ │ ├── fstream@1.0.11
│ │ │ ├─┬ glob@7.1.2
│ │ │ │ └── fs.realpath@1.0.0
│ │ │ ├─┬ nopt@3.0.6
│ │ │ │ └── abbrev@1.1.1
│ │ │ ├─┬ npmlog@3.1.2
│ │ │ │ ├── console-control-strings@1.1.0
│ │ │ │ ├─┬ gauge@2.6.0
│ │ │ │ │ ├── aproba@1.2.0
│ │ │ │ │ ├── has-color@0.1.7
│ │ │ │ │ ├── object-assign@4.1.1
│ │ │ │ │ ├── signal-exit@3.0.2
│ │ │ │ │ ├─┬ string-width@1.0.2
│ │ │ │ │ │ ├── code-point-at@1.1.0
│ │ │ │ │ │ └─┬ is-fullwidth-code-point@1.0.0
│ │ │ │ │ │ └── number-is-nan@1.0.1
│ │ │ │ │ └── wide-align@1.1.2
│ │ │ │ └── set-blocking@2.0.0
│ │ │ ├─┬ osenv@0.1.4
│ │ │ │ └── os-tmpdir@1.0.2
│ │ │ ├─┬ path-array@1.0.1
│ │ │ │ └─┬ array-index@1.0.0
│ │ │ │ └─┬ es6-symbol@3.1.1
│ │ │ │ ├── d@1.0.0
│ │ │ │ └─┬ es5-ext@0.10.35
│ │ │ │ └── es6-iterator@2.0.1
│ │ │ ├─┬ tar@2.2.1
│ │ │ │ └── block-stream@0.0.9
│ │ │ └─┬ which@1.3.0
│ │ │ └── isexe@2.0.0
│ │ ├─┬ node-ninja@1.0.2
│ │ │ └─┬ npmlog@2.0.4
│ │ │ └── gauge@1.2.7
│ │ ├── noop-logger@0.1.1
│ │ ├─┬ npmlog@2.0.4
│ │ │ ├── ansi@0.3.1
│ │ │ ├─┬ are-we-there-yet@1.1.4
│ │ │ │ ├── delegates@1.0.0
│ │ │ │ └─┬ readable-stream@2.3.3
│ │ │ │ ├── isarray@1.0.0
│ │ │ │ └── string_decoder@1.0.3
│ │ │ └─┬ gauge@1.2.7
│ │ │ ├── has-unicode@2.0.1
│ │ │ ├── lodash.pad@4.5.1
│ │ │ ├── lodash.padend@4.6.1
│ │ │ └── lodash.padstart@4.6.1
│ │ ├── os-homedir@1.0.2
│ │ ├─┬ rc@1.2.1
│ │ │ ├── deep-extend@0.4.2
│ │ │ ├── ini@1.3.4
│ │ │ ├── minimist@1.2.0
│ │ │ └── strip-json-comments@2.0.1
│ │ ├─┬ simple-get@1.4.3
│ │ │ └── unzip-response@1.0.2
│ │ ├─┬ tar-fs@1.16.0
│ │ │ └── chownr@1.0.1
│ │ └─┬ tar-stream@1.5.4
│ │ ├── bl@1.2.1
│ │ └─┬ readable-stream@2.3.3
│ │ ├── isarray@1.0.0
│ │ └── string_decoder@1.0.3
│ ├─┬ levelup@1.3.9
│ │ ├─┬ deferred-leveldown@1.2.2
│ │ │ └── abstract-leveldown@2.6.3
│ │ ├── level-codec@7.0.1
│ │ ├── level-errors@1.0.5
│ │ ├── level-iterator-stream@1.3.1
│ │ ├── prr@1.0.1
│ │ └── semver@5.4.1
│ ├─┬ lru-cache@4.0.2
│ │ ├── pseudomap@1.0.2
│ │ └── yallist@2.1.2
│ ├─┬ memdown@1.1.2
│ │ ├── abstract-leveldown@2.7.2
│ │ ├── functional-red-black-tree@1.0.1
│ │ └── ltgt@1.0.2
│ ├─┬ minimatch@3.0.4
│ │ └─┬ brace-expansion@1.1.8
│ │ ├── balanced-match@1.0.0
│ │ └── concat-map@0.0.1
│ ├─┬ mongodb@2.1.21
│ │ ├── es6-promise@3.0.2
│ │ ├─┬ mongodb-core@1.3.21
│ │ │ ├── bson@0.4.23
│ │ │ └─┬ require_optional@1.0.1
│ │ │ └── resolve-from@2.0.0
│ │ └─┬ readable-stream@1.0.31
│ │ ├── core-util-is@1.0.2
│ │ ├── isarray@0.0.1
│ │ └── string_decoder@0.10.31
│ ├── moving-average@0.1.1
│ ├─┬ mqtt@1.14.1
│ │ ├─┬ commist@1.0.0
│ │ │ ├── leven@1.0.2
│ │ │ └── minimist@1.2.0
│ │ ├── end-of-stream@1.4.0
│ │ ├─┬ help-me@1.1.0
│ │ │ ├── callback-stream@1.1.0
│ │ │ └─┬ glob-stream@6.1.0
│ │ │ ├── glob@7.1.2
│ │ │ ├─┬ glob-parent@3.1.0
│ │ │ │ ├─┬ is-glob@3.1.0
│ │ │ │ │ └── is-extglob@2.1.1
│ │ │ │ └── path-dirname@1.0.2
│ │ │ ├── is-negated-glob@1.0.0
│ │ │ ├─┬ ordered-read-streams@1.0.1
│ │ │ │ └─┬ readable-stream@2.3.3
│ │ │ │ ├── isarray@1.0.0
│ │ │ │ └── string_decoder@1.0.3
│ │ │ ├── pumpify@1.3.5
│ │ │ ├─┬ readable-stream@2.3.3
│ │ │ │ ├── isarray@1.0.0
│ │ │ │ └── string_decoder@1.0.3
│ │ │ ├── remove-trailing-separator@1.1.0
│ │ │ ├─┬ to-absolute-glob@2.0.1
│ │ │ │ ├─┬ extend-shallow@2.0.1
│ │ │ │ │ └── is-extendable@0.1.1
│ │ │ │ └─┬ is-absolute@0.2.6
│ │ │ │ ├─┬ is-relative@0.2.1
│ │ │ │ │ └─┬ is-unc-path@0.1.2
│ │ │ │ │ └── unc-path-regex@0.1.2
│ │ │ │ └── is-windows@0.2.0
│ │ │ └─┬ unique-stream@2.2.1
│ │ │ └── through2-filter@2.0.0
│ │ ├── minimist@1.2.0
│ │ ├─┬ mqtt-packet@3.4.8
│ │ │ └─┬ bl@0.9.5
│ │ │ └── readable-stream@1.0.34
│ │ ├── pump@1.0.2
│ │ ├── readable-stream@1.0.34
│ │ ├── reinterval@1.1.0
│ │ └── split2@2.2.0
│ ├─┬ mqtt-connection@2.1.1
│ │ ├─┬ reduplexer@1.1.0
│ │ │ └── readable-stream@1.0.34
│ │ └─┬ through2@0.6.5
│ │ └── readable-stream@1.0.34
│ ├─┬ msgpack5@3.5.1
│ │ ├── bl@1.2.1
│ │ └─┬ readable-stream@2.3.3
│ │ ├── isarray@1.0.0
│ │ ├── process-nextick-args@1.0.7
│ │ ├── string_decoder@1.0.3
│ │ └── util-deprecate@1.0.2
│ ├─┬ pbkdf2-password@1.2.1
│ │ └── fastfall@1.5.1
│ ├─┬ pino@2.16.0
│ │ ├─┬ chalk@1.1.3
│ │ │ ├── ansi-styles@2.2.1
│ │ │ ├── escape-string-regexp@1.0.5
│ │ │ ├─┬ has-ansi@2.0.0
│ │ │ │ └── ansi-regex@2.1.1
│ │ │ ├── strip-ansi@3.0.1
│ │ │ └── supports-color@2.0.0
│ │ ├── fast-json-parse@1.0.3
│ │ ├── fast-safe-stringify@1.2.0
│ │ ├── flatstr@1.0.5
│ │ ├─┬ object.assign@4.0.4
│ │ │ ├── define-properties@1.1.2
│ │ │ ├── function-bind@1.1.1
│ │ │ └── object-keys@1.0.11
│ │ ├─┬ once@1.4.0
│ │ │ └── wrappy@1.0.2
│ │ └── quick-format-unescaped@1.1.1
│ ├── qlobber@0.7.0
│ ├── retimer@1.1.0
│ ├── shortid@2.2.8
│ ├─┬ st@1.1.0
│ │ ├─┬ async-cache@1.0.0
│ │ │ └── lru-cache@2.3.1
│ │ ├─┬ bl@1.0.3
│ │ │ └─┬ readable-stream@2.0.6
│ │ │ └── isarray@1.0.0
│ │ ├── fd@0.0.2
│ │ ├── graceful-fs@4.1.11
│ │ └── mime@1.3.6
│ ├─┬ steed@1.1.3
│ │ ├── fastparallel@2.3.0
│ │ ├── fastq@1.5.0
│ │ ├── fastseries@1.7.2
│ │ └── reusify@1.0.3
│ ├── uuid@2.0.3
│ └─┬ websocket-stream@3.1.0
│ ├─┬ duplexify@3.5.1
│ │ ├─┬ readable-stream@2.3.3
│ │ │ ├── isarray@1.0.0
│ │ │ └── string_decoder@1.0.3
│ │ └── stream-shift@1.0.0
│ └─┬ ws@1.1.4
│ ├── options@0.0.6
│ └── ultron@1.0.2
├─┬ multer@1.3.0
│ ├── append-field@0.1.0
│ ├─┬ busboy@0.2.14
│ │ ├─┬ dicer@0.2.5
│ │ │ └── streamsearch@0.1.2
│ │ └── readable-stream@1.1.14
│ ├─┬ concat-stream@1.6.0
│ │ ├─┬ readable-stream@2.3.3
│ │ │ ├── isarray@1.0.0
│ │ │ └── string_decoder@1.0.3
│ │ └── typedarray@0.0.6
│ ├─┬ mkdirp@0.5.1
│ │ └── minimist@0.0.8
│ ├── object-assign@3.0.0
│ └── xtend@4.0.1
├─┬ request@2.83.0
│ ├── aws-sign2@0.7.0
│ ├── aws4@1.6.0
│ ├── caseless@0.12.0
│ ├─┬ combined-stream@1.0.5
│ │ └── delayed-stream@1.0.0
│ ├── forever-agent@0.6.1
│ ├─┬ form-data@2.3.1
│ │ └── asynckit@0.4.0
│ ├─┬ har-validator@5.0.3
│ │ ├─┬ ajv@5.2.3
│ │ │ ├── co@4.6.0
│ │ │ ├── fast-deep-equal@1.0.0
│ │ │ ├── json-schema-traverse@0.3.1
│ │ │ └─┬ json-stable-stringify@1.0.1
│ │ │ └── jsonify@0.0.0
│ │ └── har-schema@2.0.0
│ ├─┬ hawk@6.0.2
│ │ ├── boom@4.3.1
│ │ ├─┬ cryptiles@3.1.2
│ │ │ └── boom@5.2.0
│ │ ├── hoek@4.2.0
│ │ └── sntp@2.0.2
│ ├─┬ http-signature@1.2.0
│ │ ├── assert-plus@1.0.0
│ │ ├─┬ jsprim@1.4.1
│ │ │ ├── extsprintf@1.3.0
│ │ │ ├── json-schema@0.2.3
│ │ │ └── verror@1.10.0
│ │ └─┬ sshpk@1.13.1
│ │ ├── asn1@0.2.3
│ │ ├── bcrypt-pbkdf@1.0.1
│ │ ├── dashdash@1.14.1
│ │ ├── ecc-jsbn@0.1.1
│ │ ├── getpass@0.1.7
│ │ ├── jsbn@0.1.1
│ │ └── tweetnacl@0.14.5
│ ├── is-typedarray@1.0.0
│ ├── isstream@0.1.2
│ ├── json-stringify-safe@5.0.1
│ ├─┬ mime-types@2.1.17
│ │ └── mime-db@1.30.0
│ ├── oauth-sign@0.8.2
│ ├── performance-now@2.1.0
│ ├── stringstream@0.0.5
│ ├─┬ tough-cookie@2.3.3
│ │ └── punycode@1.4.1
│ ├── tunnel-agent@0.6.0
│ └── uuid@3.1.0
├── rosnodejs@2.1.1
├── ultron@1.1.0
├─┬ walker@1.0.7
│ └─┬ makeerror@1.0.11
│ └── tmpl@1.0.4
└─┬ xmlrpc@1.3.2 (git://github.com/chfritz/node-xmlrpc.git#948db2fbd0260e5d56ed5ba58df0f5b6599bbe38)
├── sax@1.2.4
└── xmlbuilder@8.2.2
解决方案:
因为zmp不是必须的,可以忽略这个错误
错误三:
$ node index.js
module.js:471
throw err;
^
Error: Cannot find module '/home/josh/index.js'
at Function.Module._resolveFilename (module.js:469:15)
at Function.Module._load (module.js:417:25)
at Module.runMain (module.js:604:10)
at run (bootstrap_node.js:383:7)
at startup (bootstrap_node.js:149:9)
at bootstrap_node.js:496:3
解决方法:
安装最新版本的npm:
sudo npm install npm@latest -g