{"action":"created","issue":{"url":"https://api.github.com/repos/pkrumins/node-gif/issues/26","repository_url":"https://api.github.com/repos/pkrumins/node-gif","labels_url":"https://api.github.com/repos/pkrumins/node-gif/issues/26/labels{/name}","comments_url":"https://api.github.com/repos/pkrumins/node-gif/issues/26/comments","events_url":"https://api.github.com/repos/pkrumins/node-gif/issues/26/events","html_url":"https://github.com/pkrumins/node-gif/issues/26","id":123071627,"number":26,"title":"Failed at the gif@2.0.2 install script 'node-gyp rebuild'.","user":{"login":"kryo2k","id":5114842,"avatar_url":"https://avatars.githubusercontent.com/u/5114842?v=3","gravatar_id":"","url":"https://api.github.com/users/kryo2k","html_url":"https://github.com/kryo2k","followers_url":"https://api.github.com/users/kryo2k/followers","following_url":"https://api.github.com/users/kryo2k/following{/other_user}","gists_url":"https://api.github.com/users/kryo2k/gists{/gist_id}","starred_url":"https://api.github.com/users/kryo2k/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kryo2k/subscriptions","organizations_url":"https://api.github.com/users/kryo2k/orgs","repos_url":"https://api.github.com/users/kryo2k/repos","events_url":"https://api.github.com/users/kryo2k/events{/privacy}","received_events_url":"https://api.github.com/users/kryo2k/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2015-12-19T08:35:17Z","updated_at":"2016-06-25T15:41:47Z","closed_at":null,"body":"\r\nThe command I ran:\r\n\r\n    $ npm install gif\r\n\r\nOutput from npm install:\r\n\r\n    > gif@2.0.2 install /path/to/project/node_modules/gif\r\n    > node-gyp rebuild\r\n\r\n    make: Entering directory `/path/to/project/node_modules/gif/build'\r\n      CC(target) Release/obj.target/giflib/deps/giflib/dgif_lib.o\r\n    ../deps/giflib/dgif_lib.c: In function 'DGifOpenFileHandle':\r\n    ../deps/giflib/dgif_lib.c:32:64: warning: signed and unsigned type in conditional expression [-Wsign-compare]\r\n         ((GifFilePrivateType*)_gif->Private)->Read(_gif,_buf,_len) : \\\r\n                                                                    ^\r\n    ../deps/giflib/dgif_lib.c:117:9: note: in expansion of macro 'READ'\r\n         if (READ(GifFile, (unsigned char *)Buf, GIF_STAMP_LEN) != GIF_STAMP_LEN) {\r\n             ^\r\n    ../deps/giflib/dgif_lib.c: In function 'DGifOpen':\r\n    ../deps/giflib/dgif_lib.c:32:64: warning: signed and unsigned type in conditional expression [-Wsign-compare]\r\n         ((GifFilePrivateType*)_gif->Private)->Read(_gif,_buf,_len) : \\\r\n                                                                    ^\r\n    ../deps/giflib/dgif_lib.c:192:9: note: in expansion of macro 'READ'\r\n         if (READ(GifFile, (unsigned char *)Buf, GIF_STAMP_LEN) != GIF_STAMP_LEN) {\r\n             ^\r\n    ../deps/giflib/dgif_lib.c: In function 'DGifGetScreenDesc':\r\n    ../deps/giflib/dgif_lib.c:32:64: warning: signed and unsigned type in conditional expression [-Wsign-compare]\r\n         ((GifFilePrivateType*)_gif->Private)->Read(_gif,_buf,_len) : \\\r\n                                                                    ^\r\n    ../deps/giflib/dgif_lib.c:247:9: note: in expansion of macro 'READ'\r\n         if (READ(GifFile, Buf, 3) != 3) {\r\n             ^\r\n    ../deps/giflib/dgif_lib.c:32:64: warning: signed and unsigned type in conditional expression [-Wsign-compare]\r\n         ((GifFilePrivateType*)_gif->Private)->Read(_gif,_buf,_len) : \\\r\n                                                                    ^\r\n    ../deps/giflib/dgif_lib.c:270:17: note: in expansion of macro 'READ'\r\n                 if (READ(GifFile, Buf, 3) != 3) {\r\n                     ^\r\n    ../deps/giflib/dgif_lib.c: In function 'DGifGetRecordType':\r\n    ../deps/giflib/dgif_lib.c:32:64: warning: signed and unsigned type in conditional expression [-Wsign-compare]\r\n         ((GifFilePrivateType*)_gif->Private)->Read(_gif,_buf,_len) : \\\r\n                                                                    ^\r\n    ../deps/giflib/dgif_lib.c:302:9: note: in expansion of macro 'READ'\r\n         if (READ(GifFile, &Buf, 1) != 1) {\r\n             ^\r\n    ../deps/giflib/dgif_lib.c: In function 'DGifGetImageDesc':\r\n    ../deps/giflib/dgif_lib.c:32:64: warning: signed and unsigned type in conditional expression [-Wsign-compare]\r\n         ((GifFilePrivateType*)_gif->Private)->Read(_gif,_buf,_len) : \\\r\n                                                                    ^\r\n    ../deps/giflib/dgif_lib.c:349:9: note: in expansion of macro 'READ'\r\n         if (READ(GifFile, Buf, 1) != 1) {\r\n             ^\r\n    ../deps/giflib/dgif_lib.c:374:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]\r\n             for (i = 0; i < GifFile->Image.ColorMap->ColorCount; i++) {\r\n                           ^\r\n    ../deps/giflib/dgif_lib.c:32:64: warning: signed and unsigned type in conditional expression [-Wsign-compare]\r\n         ((GifFilePrivateType*)_gif->Private)->Read(_gif,_buf,_len) : \\\r\n                                                                    ^\r\n    ../deps/giflib/dgif_lib.c:375:17: note: in expansion of macro 'READ'\r\n                 if (READ(GifFile, Buf, 3) != 3) {\r\n                     ^\r\n    ../deps/giflib/dgif_lib.c: In function 'DGifGetExtension':\r\n    ../deps/giflib/dgif_lib.c:32:64: warning: signed and unsigned type in conditional expression [-Wsign-compare]\r\n         ((GifFilePrivateType*)_gif->Private)->Read(_gif,_buf,_len) : \\\r\n                                                                    ^\r\n    ../deps/giflib/dgif_lib.c:524:9: note: in expansion of macro 'READ'\r\n         if (READ(GifFile, &Buf, 1) != 1) {\r\n             ^\r\n    ../deps/giflib/dgif_lib.c: In function 'DGifGetExtensionNext':\r\n    ../deps/giflib/dgif_lib.c:32:64: warning: signed and unsigned type in conditional expression [-Wsign-compare]\r\n         ((GifFilePrivateType*)_gif->Private)->Read(_gif,_buf,_len) : \\\r\n                                                                    ^\r\n    ../deps/giflib/dgif_lib.c:544:9: note: in expansion of macro 'READ'\r\n         if (READ(GifFile, &Buf, 1) != 1) {\r\n             ^\r\n    ../deps/giflib/dgif_lib.c:32:64: warning: signed and unsigned type in conditional expression [-Wsign-compare]\r\n         ((GifFilePrivateType*)_gif->Private)->Read(_gif,_buf,_len) : \\\r\n                                                                    ^\r\n    ../deps/giflib/dgif_lib.c:552:13: note: in expansion of macro 'READ'\r\n             if (READ(GifFile, &((*Extension)[1]), Buf) != Buf) {\r\n                 ^\r\n    ../deps/giflib/dgif_lib.c: In function 'DGifGetWord':\r\n    ../deps/giflib/dgif_lib.c:32:64: warning: signed and unsigned type in conditional expression [-Wsign-compare]\r\n         ((GifFilePrivateType*)_gif->Private)->Read(_gif,_buf,_len) : \\\r\n                                                                    ^\r\n    ../deps/giflib/dgif_lib.c:673:9: note: in expansion of macro 'READ'\r\n         if (READ(GifFile, c, 2) != 2) {\r\n             ^\r\n    ../deps/giflib/dgif_lib.c: In function 'DGifGetCodeNext':\r\n    ../deps/giflib/dgif_lib.c:32:64: warning: signed and unsigned type in conditional expression [-Wsign-compare]\r\n         ((GifFilePrivateType*)_gif->Private)->Read(_gif,_buf,_len) : \\\r\n                                                                    ^\r\n    ../deps/giflib/dgif_lib.c:717:9: note: in expansion of macro 'READ'\r\n         if (READ(GifFile, &Buf, 1) != 1) {\r\n             ^\r\n    ../deps/giflib/dgif_lib.c:32:64: warning: signed and unsigned type in conditional expression [-Wsign-compare]\r\n         ((GifFilePrivateType*)_gif->Private)->Read(_gif,_buf,_len) : \\\r\n                                                                    ^\r\n    ../deps/giflib/dgif_lib.c:727:13: note: in expansion of macro 'READ'\r\n             if (READ(GifFile, &((*CodeBlock)[1]), Buf) != Buf) {\r\n                 ^\r\n    ../deps/giflib/dgif_lib.c: In function 'DGifSetupDecompress':\r\n    ../deps/giflib/dgif_lib.c:32:64: warning: signed and unsigned type in conditional expression [-Wsign-compare]\r\n         ((GifFilePrivateType*)_gif->Private)->Read(_gif,_buf,_len) : \\\r\n                                                                    ^\r\n    ../deps/giflib/dgif_lib.c:751:5: note: in expansion of macro 'READ'\r\n         READ(GifFile, &CodeSize, 1);    /* Read Code size from file. */\r\n         ^\r\n    ../deps/giflib/dgif_lib.c: In function 'DGifBufferedInput':\r\n    ../deps/giflib/dgif_lib.c:32:64: warning: signed and unsigned type in conditional expression [-Wsign-compare]\r\n         ((GifFilePrivateType*)_gif->Private)->Read(_gif,_buf,_len) : \\\r\n                                                                    ^\r\n    ../deps/giflib/dgif_lib.c:1021:13: note: in expansion of macro 'READ'\r\n             if (READ(GifFile, Buf, 1) != 1) {\r\n                 ^\r\n    ../deps/giflib/dgif_lib.c:32:64: warning: signed and unsigned type in conditional expression [-Wsign-compare]\r\n         ((GifFilePrivateType*)_gif->Private)->Read(_gif,_buf,_len) : \\\r\n                                                                    ^\r\n    ../deps/giflib/dgif_lib.c:1041:13: note: in expansion of macro 'READ'\r\n             if (READ(GifFile, &Buf[1], Buf[0]) != Buf[0]) {\r\n                 ^\r\n      CC(target) Release/obj.target/giflib/deps/giflib/egif_lib.o\r\n    ../deps/giflib/egif_lib.c: In function 'EGifPutScreenDesc':\r\n    ../deps/giflib/egif_lib.c:265:38: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]\r\n                   strlen(write_version)) != strlen(write_version)) {\r\n                                          ^\r\n    ../deps/giflib/egif_lib.c: In function 'EGifPutCodeNext':\r\n    ../deps/giflib/egif_lib.c:711:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]\r\n                    != (unsigned)(CodeBlock[0] + 1)) {\r\n                    ^\r\n    ../deps/giflib/egif_lib.c: In function 'EGifBufferedOutput':\r\n    ../deps/giflib/egif_lib.c:996:56: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]\r\n                 && InternalWrite(GifFile, Buf, Buf[0] + 1) != (unsigned)(Buf[0] + 1)) {\r\n                                                            ^\r\n    ../deps/giflib/egif_lib.c:1009:57: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]\r\n                 if (InternalWrite(GifFile, Buf, Buf[0] + 1) != (unsigned)(Buf[0] + 1)) {\r\n                                                             ^\r\n      CC(target) Release/obj.target/giflib/deps/giflib/gif_err.o\r\n      CC(target) Release/obj.target/giflib/deps/giflib/gif_font.o\r\n      CC(target) Release/obj.target/giflib/deps/giflib/gif_hash.o\r\n      CC(target) Release/obj.target/giflib/deps/giflib/gifalloc.o\r\n      CC(target) Release/obj.target/giflib/deps/giflib/quantize.o\r\n    ../deps/giflib/quantize.c: In function 'GifQuantizeBuffer':\r\n    ../deps/giflib/quantize.c:132:25: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]\r\n         if (NewColorMapSize < *ColorMapSize) {\r\n                             ^\r\n    ../deps/giflib/quantize.c:141:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]\r\n         for (i = 0; i < NewColorMapSize; i++) {\r\n                       ^\r\n      AR(target) Release/obj.target/deps/giflib/giflib.a\r\n      COPY Release/giflib.a\r\n      CXX(target) Release/obj.target/gif/src/animated_gif.o\r\n    In file included from ../src/animated_gif.cpp:3:0:\r\n    ../src/common.h: In constructor 'Color::Color(unsigned char, unsigned char, unsigned char, bool)':\r\n    ../src/common.h:25:25: warning: 'Color::b' will be initialized after [-Wreorder]\r\n         unsigned char r, g, b;\r\n                             ^\r\n    ../src/common.h:24:10: warning:   'bool Color::color_present' [-Wreorder]\r\n         bool color_present; // true if this is really a color\r\n              ^\r\n    ../src/common.h:26:5: warning:   when initialized here [-Wreorder]\r\n         Color(unsigned char rr, unsigned char gg, unsigned char bb, bool ccolor_present=true) :\r\n         ^\r\n    In file included from ../src/animated_gif.cpp:4:0:\r\n    ../src/gif_encoder.h: At global scope:\r\n    ../src/gif_encoder.h:34:29: warning: type qualifiers ignored on function return type [-Wignored-qualifiers]\r\n         const int get_gif_len() const;\r\n                                 ^\r\n    ../src/gif_encoder.h:69:29: warning: type qualifiers ignored on function return type [-Wignored-qualifiers]\r\n         const int get_gif_len() const;\r\n                                 ^\r\n    In file included from ../src/animated_gif.cpp:5:0:\r\n    ../src/animated_gif.h: In constructor 'AnimatedGif::AnimatedGif(int, int, buffer_type)':\r\n    ../src/animated_gif.h:16:11: warning: 'AnimatedGif::transparency_color' will be initialized after [-Wreorder]\r\n         Color transparency_color;\r\n               ^\r\n    ../src/animated_gif.h:15:20: warning:   'unsigned char* AnimatedGif::data' [-Wreorder]\r\n         unsigned char *data;\r\n                        ^\r\n    ../src/animated_gif.cpp:29:1: warning:   when initialized here [-Wreorder]\r\n     AnimatedGif::AnimatedGif(int wwidth, int hheight, buffer_type bbuf_type) :\r\n     ^\r\n    ../src/animated_gif.cpp: In member function 'v8::Handle<v8::Value> AnimatedGif::Push(unsigned char*, int, int, int, int)':\r\n    ../src/animated_gif.cpp:56:12: warning: enumeration value 'BUF_RGBA' not handled in switch [-Wswitch]\r\n         switch (buf_type) {\r\n                ^\r\n    ../src/animated_gif.cpp:56:12: warning: enumeration value 'BUF_BGRA' not handled in switch [-Wswitch]\r\n    ../src/animated_gif.cpp:79:1: warning: control reaches end of non-void function [-Wreturn-type]\r\n     }\r\n     ^\r\n      CXX(target) Release/obj.target/gif/src/async_animated_gif.o\r\n    In file included from ../src/async_animated_gif.cpp:4:0:\r\n    ../src/common.h: In constructor 'Color::Color(unsigned char, unsigned char, unsigned char, bool)':\r\n    ../src/common.h:25:25: warning: 'Color::b' will be initialized after [-Wreorder]\r\n         unsigned char r, g, b;\r\n                             ^\r\n    ../src/common.h:24:10: warning:   'bool Color::color_present' [-Wreorder]\r\n         bool color_present; // true if this is really a color\r\n              ^\r\n    ../src/common.h:26:5: warning:   when initialized here [-Wreorder]\r\n         Color(unsigned char rr, unsigned char gg, unsigned char bb, bool ccolor_present=true) :\r\n         ^\r\n    In file included from ../src/async_animated_gif.cpp:6:0:\r\n    ../src/gif_encoder.h: At global scope:\r\n    ../src/gif_encoder.h:34:29: warning: type qualifiers ignored on function return type [-Wignored-qualifiers]\r\n         const int get_gif_len() const;\r\n                                 ^\r\n    ../src/gif_encoder.h:69:29: warning: type qualifiers ignored on function return type [-Wignored-qualifiers]\r\n         const int get_gif_len() const;\r\n                                 ^\r\n    In file included from ../src/async_animated_gif.cpp:7:0:\r\n    ../src/async_animated_gif.h:38:26: error: 'eio_req' has not been declared\r\n         static void EIO_Push(eio_req *req);\r\n                              ^\r\n    ../src/async_animated_gif.h:39:30: error: 'eio_req' has not been declared\r\n         static int EIO_PushAfter(eio_req *req);\r\n                                  ^\r\n    ../src/async_animated_gif.h:41:28: error: 'eio_req' has not been declared\r\n         static void EIO_Encode(eio_req *req);\r\n                                ^\r\n    ../src/async_animated_gif.h:42:32: error: 'eio_req' has not been declared\r\n         static int EIO_EncodeAfter(eio_req *req);\r\n                                    ^\r\n    ../src/async_animated_gif.cpp:36:28: error: variable or field 'EIO_Push' declared void\r\n     AsyncAnimatedGif::EIO_Push(eio_req *req)\r\n                                ^\r\n    ../src/async_animated_gif.cpp:36:28: error: 'eio_req' was not declared in this scope\r\n    ../src/async_animated_gif.cpp:36:37: error: 'req' was not declared in this scope\r\n     AsyncAnimatedGif::EIO_Push(eio_req *req)\r\n                                         ^\r\n    make: *** [Release/obj.target/gif/src/async_animated_gif.o] Error 1\r\n    make: Leaving directory `/path/to/project/node_modules/gif/build'\r\n    gyp ERR! build error\r\n    gyp ERR! stack Error: `make` failed with exit code: 2\r\n    gyp ERR! stack     at ChildProcess.onExit (/path/to/.nvm/v0.10.30/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:276:23)\r\n    gyp ERR! stack     at ChildProcess.emit (events.js:98:17)\r\n    gyp ERR! stack     at Process.ChildProcess._handle.onexit (child_process.js:810:12)\r\n    gyp ERR! System Linux 2.6.32-042stab108.5\r\n    gyp ERR! command \"node\" \"/path/to/.nvm/v0.10.30/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js\" \"rebuild\"\r\n    gyp ERR! cwd /path/to/project/node_modules/gif\r\n    gyp ERR! node -v v0.10.30\r\n    gyp ERR! node-gyp -v v3.2.1\r\n    gyp ERR! not ok\r\n    npm WARN email-template@1.0.0 No repository field.\r\n    npm ERR! Linux 2.6.32-042stab108.5\r\n    npm ERR! argv \"node\" \"/path/to/.nvm/v0.10.30/bin/npm\" \"install\" \"--save\" \"gif\"\r\n    npm ERR! node v0.10.30\r\n    npm ERR! npm  v3.5.2\r\n    npm ERR! code ELIFECYCLE\r\n\r\n    npm ERR! gif@2.0.2 install: `node-gyp rebuild`\r\n    npm ERR! Exit status 1\r\n    npm ERR!\r\n    npm ERR! Failed at the gif@2.0.2 install script 'node-gyp rebuild'.\r\n    npm ERR! Make sure you have the latest version of node.js and npm installed.\r\n    npm ERR! If you do, this is most likely a problem with the gif package,\r\n    npm ERR! not with npm itself.\r\n    npm ERR! Tell the author that this fails on your system:\r\n    npm ERR!     node-gyp rebuild\r\n    npm ERR! You can get information on how to open an issue for this project with:\r\n    npm ERR!     npm bugs gif\r\n    npm ERR! Or if that isn't available, you can get their info via:\r\n    npm ERR!     npm owner ls gif\r\n    npm ERR! There is likely additional logging output above.\r\n\r\n    npm ERR! Please include the following file with any support request:\r\n    npm ERR!     /path/to/project/npm-debug.log\r\n\r\n\r\nContents of npm-debug.log\r\n\r\n    0 info it worked if it ends with ok\r\n    1 verbose cli [ 'node',\r\n    1 verbose cli   '/path/to/.nvm/v0.10.30/bin/npm',\r\n    1 verbose cli   'install',\r\n    1 verbose cli   '--save',\r\n    1 verbose cli   'gif' ]\r\n    2 info using npm@3.5.2\r\n    3 info using node@v0.10.30\r\n    4 silly loadCurrentTree Starting\r\n    5 silly install loadCurrentTree\r\n    6 silly install readLocalPackageData\r\n    7 silly fetchPackageMetaData gif\r\n    8 silly fetchNamedPackageData gif\r\n    9 silly mapToRegistry name gif\r\n    10 silly mapToRegistry using default registry\r\n    11 silly mapToRegistry registry https://registry.npmjs.org/\r\n    12 silly mapToRegistry uri https://registry.npmjs.org/gif\r\n    13 verbose request uri https://registry.npmjs.org/gif\r\n    14 verbose request no auth needed\r\n    15 info attempt registry request try #1 at 03:24:41\r\n    16 verbose request id b3e25ad8a91e13b9\r\n    17 verbose etag \"83KWD9B6UMIXS05S6HZVO8A53\"\r\n    18 http request GET https://registry.npmjs.org/gif\r\n    19 http 304 https://registry.npmjs.org/gif\r\n    20 verbose headers { date: 'Sat, 19 Dec 2015 08:24:42 GMT',\r\n    20 verbose headers   via: '1.1 varnish',\r\n    20 verbose headers   'cache-control': 'max-age=300',\r\n    20 verbose headers   etag: '\"83KWD9B6UMIXS05S6HZVO8A53\"',\r\n    20 verbose headers   age: '60',\r\n    20 verbose headers   connection: 'keep-alive',\r\n    20 verbose headers   'x-served-by': 'cache-jfk1032-JFK',\r\n    20 verbose headers   'x-cache': 'HIT',\r\n    20 verbose headers   'x-cache-hits': '1',\r\n    20 verbose headers   'x-timer': 'S1450513482.163975,VS0,VE0',\r\n    20 verbose headers   vary: 'Accept' }\r\n    21 silly get cb [ 304,\r\n    21 silly get   { date: 'Sat, 19 Dec 2015 08:24:42 GMT',\r\n    21 silly get     via: '1.1 varnish',\r\n    21 silly get     'cache-control': 'max-age=300',\r\n    21 silly get     etag: '\"83KWD9B6UMIXS05S6HZVO8A53\"',\r\n    21 silly get     age: '60',\r\n    21 silly get     connection: 'keep-alive',\r\n    21 silly get     'x-served-by': 'cache-jfk1032-JFK',\r\n    21 silly get     'x-cache': 'HIT',\r\n    21 silly get     'x-cache-hits': '1',\r\n    21 silly get     'x-timer': 'S1450513482.163975,VS0,VE0',\r\n    21 silly get     vary: 'Accept' } ]\r\n    22 verbose etag https://registry.npmjs.org/gif from cache\r\n    23 verbose get saving gif to /path/to/.npm/registry.npmjs.org/gif/.cache.json\r\n    24 silly install normalizeTree\r\n    25 silly loadCurrentTree Finishing\r\n    26 silly loadIdealTree Starting\r\n    27 silly install loadIdealTree\r\n    28 silly cloneCurrentTree Starting\r\n    29 silly install cloneCurrentTreeToIdealTree\r\n    30 silly cloneCurrentTree Finishing\r\n    31 silly loadShrinkwrap Starting\r\n    32 silly install loadShrinkwrap\r\n    33 silly loadShrinkwrap Finishing\r\n    34 silly loadAllDepsIntoIdealTree Starting\r\n    35 silly install loadAllDepsIntoIdealTree\r\n    36 silly resolveWithNewModule gif@2.0.2 checking installable status\r\n    37 silly cache add args [ 'gif', null ]\r\n    38 verbose cache add spec gif\r\n    39 silly cache add parsed spec { raw: 'gif',\r\n    39 silly cache add   scope: null,\r\n    39 silly cache add   name: 'gif',\r\n    39 silly cache add   rawSpec: '',\r\n    39 silly cache add   spec: 'latest',\r\n    39 silly cache add   type: 'tag' }\r\n    40 silly addNamed gif@latest\r\n    41 verbose addNamed \"latest\" is being treated as a dist-tag for gif\r\n    42 info addNameTag [ 'gif', 'latest' ]\r\n    43 silly mapToRegistry name gif\r\n    44 silly mapToRegistry using default registry\r\n    45 silly mapToRegistry registry https://registry.npmjs.org/\r\n    46 silly mapToRegistry uri https://registry.npmjs.org/gif\r\n    47 verbose addNameTag registry:https://registry.npmjs.org/gif not in flight; fetching\r\n    48 verbose get https://registry.npmjs.org/gif not expired, no request\r\n    49 silly addNameTag next cb for gif with tag latest\r\n    50 silly addNamed gif@2.0.2\r\n    51 verbose addNamed \"2.0.2\" is a plain semver version for gif\r\n    52 silly cache afterAdd gif@2.0.2\r\n    53 verbose afterAdd /path/to/.npm/gif/2.0.2/package/package.json not in flight; writing\r\n    54 verbose afterAdd /path/to/.npm/gif/2.0.2/package/package.json written\r\n    55 silly fetchNamedPackageData bindings\r\n    56 silly mapToRegistry name bindings\r\n    57 silly mapToRegistry using default registry\r\n    58 silly mapToRegistry registry https://registry.npmjs.org/\r\n    59 silly mapToRegistry uri https://registry.npmjs.org/bindings\r\n    60 verbose request uri https://registry.npmjs.org/bindings\r\n    61 verbose request no auth needed\r\n    62 info attempt registry request try #1 at 03:24:42\r\n    63 verbose etag \"2RXG5K4RRQWEOOFOAOOKVPOZR\"\r\n    64 http request GET https://registry.npmjs.org/bindings\r\n    65 http 304 https://registry.npmjs.org/bindings\r\n    66 verbose headers { date: 'Sat, 19 Dec 2015 08:24:42 GMT',\r\n    66 verbose headers   via: '1.1 varnish',\r\n    66 verbose headers   'cache-control': 'max-age=60',\r\n    66 verbose headers   etag: '\"2RXG5K4RRQWEOOFOAOOKVPOZR\"',\r\n    66 verbose headers   age: '24',\r\n    66 verbose headers   connection: 'keep-alive',\r\n    66 verbose headers   'x-served-by': 'cache-jfk1034-JFK',\r\n    66 verbose headers   'x-cache': 'HIT',\r\n    66 verbose headers   'x-cache-hits': '1',\r\n    66 verbose headers   'x-timer': 'S1450513482.823992,VS0,VE0',\r\n    66 verbose headers   vary: 'Accept' }\r\n    67 silly get cb [ 304,\r\n    67 silly get   { date: 'Sat, 19 Dec 2015 08:24:42 GMT',\r\n    67 silly get     via: '1.1 varnish',\r\n    67 silly get     'cache-control': 'max-age=60',\r\n    67 silly get     etag: '\"2RXG5K4RRQWEOOFOAOOKVPOZR\"',\r\n    67 silly get     age: '24',\r\n    67 silly get     connection: 'keep-alive',\r\n    67 silly get     'x-served-by': 'cache-jfk1034-JFK',\r\n    67 silly get     'x-cache': 'HIT',\r\n    67 silly get     'x-cache-hits': '1',\r\n    67 silly get     'x-timer': 'S1450513482.823992,VS0,VE0',\r\n    67 silly get     vary: 'Accept' } ]\r\n    68 verbose etag https://registry.npmjs.org/bindings from cache\r\n    69 verbose get saving bindings to /path/to/.npm/registry.npmjs.org/bindings/.cache.json\r\n    70 silly resolveWithNewModule bindings@1.1.0 checking installable status\r\n    71 silly cache add args [ 'bindings@1.1.0', null ]\r\n    72 verbose cache add spec bindings@1.1.0\r\n    73 silly cache add parsed spec { raw: 'bindings@1.1.0',\r\n    73 silly cache add   scope: null,\r\n    73 silly cache add   name: 'bindings',\r\n    73 silly cache add   rawSpec: '1.1.0',\r\n    73 silly cache add   spec: '1.1.0',\r\n    73 silly cache add   type: 'version' }\r\n    74 silly addNamed bindings@1.1.0\r\n    75 verbose addNamed \"1.1.0\" is a plain semver version for bindings\r\n    76 silly mapToRegistry name bindings\r\n    77 silly mapToRegistry using default registry\r\n    78 silly mapToRegistry registry https://registry.npmjs.org/\r\n    79 silly mapToRegistry uri https://registry.npmjs.org/bindings\r\n    80 verbose addNameVersion registry:https://registry.npmjs.org/bindings not in flight; fetching\r\n    81 verbose get https://registry.npmjs.org/bindings not expired, no request\r\n    82 silly cache afterAdd bindings@1.1.0\r\n    83 verbose afterAdd /path/to/.npm/bindings/1.1.0/package/package.json not in flight; writing\r\n    84 verbose afterAdd /path/to/.npm/bindings/1.1.0/package/package.json written\r\n    85 silly loadAllDepsIntoIdealTree Finishing\r\n    86 silly idealTree:prePrune email-template@1.0.0\r\n    86 silly idealTree:prePrune +-- balanced-match@0.3.0\r\n    86 silly idealTree:prePrune +-- bindings@1.1.0\r\n    86 silly idealTree:prePrune +-- body-parser@1.14.1\r\n    86 silly idealTree:prePrune | +-- bytes@2.1.0\r\n    86 silly idealTree:prePrune | +-- content-type@1.0.1\r\n    86 silly idealTree:prePrune | +-- debug@2.2.0\r\n    86 silly idealTree:prePrune | | `-- ms@0.7.1\r\n    86 silly idealTree:prePrune | +-- depd@1.1.0\r\n    86 silly idealTree:prePrune | +-- http-errors@1.3.1\r\n    86 silly idealTree:prePrune | | +-- inherits@2.0.1\r\n    86 silly idealTree:prePrune | | `-- statuses@1.2.1\r\n    86 silly idealTree:prePrune | +-- iconv-lite@0.4.12\r\n    86 silly idealTree:prePrune | +-- on-finished@2.3.0\r\n    86 silly idealTree:prePrune | | `-- ee-first@1.1.1\r\n    86 silly idealTree:prePrune | +-- qs@5.1.0\r\n    86 silly idealTree:prePrune | +-- raw-body@2.1.4\r\n    86 silly idealTree:prePrune | | `-- unpipe@1.0.0\r\n    86 silly idealTree:prePrune | `-- type-is@1.6.9\r\n    86 silly idealTree:prePrune |   +-- media-typer@0.3.0\r\n    86 silly idealTree:prePrune |   `-- mime-types@2.1.7\r\n    86 silly idealTree:prePrune |     `-- mime-db@1.19.0\r\n    86 silly idealTree:prePrune +-- brace-expansion@1.1.2\r\n    86 silly idealTree:prePrune +-- canvas@1.3.4\r\n    86 silly idealTree:prePrune | `-- nan@2.1.0\r\n    86 silly idealTree:prePrune +-- colors@0.6.2\r\n    86 silly idealTree:prePrune +-- commander@0.6.1\r\n    86 silly idealTree:prePrune +-- concat-map@0.0.1\r\n    86 silly idealTree:prePrune +-- core-util-is@1.0.2\r\n    86 silly idealTree:prePrune +-- debug@2.2.0\r\n    86 silly idealTree:prePrune +-- diff@1.0.2\r\n    86 silly idealTree:prePrune +-- express@4.13.3\r\n    86 silly idealTree:prePrune | +-- accepts@1.2.13\r\n    86 silly idealTree:prePrune | | +-- mime-types@2.1.7\r\n    86 silly idealTree:prePrune | | | `-- mime-db@1.19.0\r\n    86 silly idealTree:prePrune | | `-- negotiator@0.5.3\r\n    86 silly idealTree:prePrune | +-- array-flatten@1.1.1\r\n    86 silly idealTree:prePrune | +-- content-disposition@0.5.0\r\n    86 silly idealTree:prePrune | +-- content-type@1.0.1\r\n    86 silly idealTree:prePrune | +-- cookie-signature@1.0.6\r\n    86 silly idealTree:prePrune | +-- cookie@0.1.3\r\n    86 silly idealTree:prePrune | +-- debug@2.2.0\r\n    86 silly idealTree:prePrune | | `-- ms@0.7.1\r\n    86 silly idealTree:prePrune | +-- depd@1.0.1\r\n    86 silly idealTree:prePrune | +-- escape-html@1.0.2\r\n    86 silly idealTree:prePrune | +-- etag@1.7.0\r\n    86 silly idealTree:prePrune | +-- finalhandler@0.4.0\r\n    86 silly idealTree:prePrune | | `-- unpipe@1.0.0\r\n    86 silly idealTree:prePrune | +-- fresh@0.3.0\r\n    86 silly idealTree:prePrune | +-- merge-descriptors@1.0.0\r\n    86 silly idealTree:prePrune | +-- methods@1.1.1\r\n    86 silly idealTree:prePrune | +-- on-finished@2.3.0\r\n    86 silly idealTree:prePrune | | `-- ee-first@1.1.1\r\n    86 silly idealTree:prePrune | +-- parseurl@1.3.0\r\n    86 silly idealTree:prePrune | +-- path-to-regexp@0.1.7\r\n    86 silly idealTree:prePrune | +-- proxy-addr@1.0.8\r\n    86 silly idealTree:prePrune | | +-- forwarded@0.1.0\r\n    86 silly idealTree:prePrune | | `-- ipaddr.js@1.0.1\r\n    86 silly idealTree:prePrune | +-- qs@4.0.0\r\n    86 silly idealTree:prePrune | +-- range-parser@1.0.3\r\n    86 silly idealTree:prePrune | +-- send@0.13.0\r\n    86 silly idealTree:prePrune | | +-- destroy@1.0.3\r\n    86 silly idealTree:prePrune | | +-- http-errors@1.3.1\r\n    86 silly idealTree:prePrune | | | `-- inherits@2.0.1\r\n    86 silly idealTree:prePrune | | +-- mime@1.3.4\r\n    86 silly idealTree:prePrune | | +-- ms@0.7.1\r\n    86 silly idealTree:prePrune | | `-- statuses@1.2.1\r\n    86 silly idealTree:prePrune | +-- serve-static@1.10.0\r\n    86 silly idealTree:prePrune | +-- type-is@1.6.9\r\n    86 silly idealTree:prePrune | | +-- media-typer@0.3.0\r\n    86 silly idealTree:prePrune | | `-- mime-types@2.1.7\r\n    86 silly idealTree:prePrune | |   `-- mime-db@1.19.0\r\n    86 silly idealTree:prePrune | +-- utils-merge@1.0.0\r\n    86 silly idealTree:prePrune | `-- vary@1.0.1\r\n    86 silly idealTree:prePrune +-- find-index@0.1.1\r\n    86 silly idealTree:prePrune +-- gif@2.0.2\r\n    86 silly idealTree:prePrune +-- gifencoder@1.0.6\r\n    86 silly idealTree:prePrune +-- glob-stream@3.1.18\r\n    86 silly idealTree:prePrune | `-- through2@0.6.5\r\n    86 silly idealTree:prePrune +-- glob2base@0.0.12\r\n    86 silly idealTree:prePrune +-- glob@4.5.3\r\n    86 silly idealTree:prePrune +-- gm-bin@0.1.0\r\n    86 silly idealTree:prePrune +-- growl@1.7.0\r\n    86 silly idealTree:prePrune +-- image-size@0.4.0\r\n    86 silly idealTree:prePrune +-- inflight@1.0.4\r\n    86 silly idealTree:prePrune +-- inherits@2.0.1\r\n    86 silly idealTree:prePrune +-- isarray@0.0.1\r\n    86 silly idealTree:prePrune +-- jade@1.11.0\r\n    86 silly idealTree:prePrune | +-- character-parser@1.2.1\r\n    86 silly idealTree:prePrune | +-- clean-css@3.4.8\r\n    86 silly idealTree:prePrune | | +-- commander@2.8.1\r\n    86 silly idealTree:prePrune | | | `-- graceful-readlink@1.0.1\r\n    86 silly idealTree:prePrune | | `-- source-map@0.4.4\r\n    86 silly idealTree:prePrune | |   `-- amdefine@1.0.0\r\n    86 silly idealTree:prePrune | +-- commander@2.6.0\r\n    86 silly idealTree:prePrune | +-- constantinople@3.0.2\r\n    86 silly idealTree:prePrune | | `-- acorn@2.6.4\r\n    86 silly idealTree:prePrune | +-- jstransformer@0.0.2\r\n    86 silly idealTree:prePrune | | +-- is-promise@2.1.0\r\n    86 silly idealTree:prePrune | | `-- promise@6.1.0\r\n    86 silly idealTree:prePrune | |   `-- asap@1.0.0\r\n    86 silly idealTree:prePrune | +-- mkdirp@0.5.1\r\n    86 silly idealTree:prePrune | | `-- minimist@0.0.8\r\n    86 silly idealTree:prePrune | +-- transformers@2.1.0\r\n    86 silly idealTree:prePrune | | +-- css@1.0.8\r\n    86 silly idealTree:prePrune | | | +-- css-parse@1.0.4\r\n    86 silly idealTree:prePrune | | | `-- css-stringify@1.0.5\r\n    86 silly idealTree:prePrune | | +-- promise@2.0.0\r\n    86 silly idealTree:prePrune | | | `-- is-promise@1.0.1\r\n    86 silly idealTree:prePrune | | `-- uglify-js@2.2.5\r\n    86 silly idealTree:prePrune | |   +-- optimist@0.3.7\r\n    86 silly idealTree:prePrune | |   | `-- wordwrap@0.0.3\r\n    86 silly idealTree:prePrune | |   `-- source-map@0.1.43\r\n    86 silly idealTree:prePrune | |     `-- amdefine@1.0.0\r\n    86 silly idealTree:prePrune | +-- uglify-js@2.6.1\r\n    86 silly idealTree:prePrune | | +-- async@0.2.10\r\n    86 silly idealTree:prePrune | | +-- source-map@0.5.3\r\n    86 silly idealTree:prePrune | | +-- uglify-to-browserify@1.0.2\r\n    86 silly idealTree:prePrune | | `-- yargs@3.10.0\r\n    86 silly idealTree:prePrune | |   +-- camelcase@1.2.1\r\n    86 silly idealTree:prePrune | |   +-- cliui@2.1.0\r\n    86 silly idealTree:prePrune | |   | +-- center-align@0.1.2\r\n    86 silly idealTree:prePrune | |   | | +-- align-text@0.1.3\r\n    86 silly idealTree:prePrune | |   | | | +-- kind-of@2.0.1\r\n    86 silly idealTree:prePrune | |   | | | | `-- is-buffer@1.1.0\r\n    86 silly idealTree:prePrune | |   | | | +-- longest@1.0.1\r\n    86 silly idealTree:prePrune | |   | | | `-- repeat-string@1.5.2\r\n    86 silly idealTree:prePrune | |   | | `-- lazy-cache@0.2.4\r\n    86 silly idealTree:prePrune | |   | +-- right-align@0.1.3\r\n    86 silly idealTree:prePrune | |   | | `-- align-text@0.1.3\r\n    86 silly idealTree:prePrune | |   | |   +-- kind-of@2.0.1\r\n    86 silly idealTree:prePrune | |   | |   | `-- is-buffer@1.1.0\r\n    86 silly idealTree:prePrune | |   | |   +-- longest@1.0.1\r\n    86 silly idealTree:prePrune | |   | |   `-- repeat-string@1.5.2\r\n    86 silly idealTree:prePrune | |   | `-- wordwrap@0.0.2\r\n    86 silly idealTree:prePrune | |   +-- decamelize@1.1.1\r\n    86 silly idealTree:prePrune | |   `-- window-size@0.1.0\r\n    86 silly idealTree:prePrune | +-- void-elements@2.0.1\r\n    86 silly idealTree:prePrune | `-- with@4.0.3\r\n    86 silly idealTree:prePrune |   +-- acorn-globals@1.0.9\r\n    86 silly idealTree:prePrune |   | `-- acorn@2.6.4\r\n    86 silly idealTree:prePrune |   `-- acorn@1.2.2\r\n    86 silly idealTree:prePrune +-- lodash@3.10.1\r\n    86 silly idealTree:prePrune +-- minimatch@2.0.10\r\n    86 silly idealTree:prePrune +-- mkdirp@0.3.3\r\n    86 silly idealTree:prePrune +-- mocha@1.9.0\r\n    86 silly idealTree:prePrune | +-- jade@0.26.3\r\n    86 silly idealTree:prePrune | | `-- mkdirp@0.3.0\r\n    86 silly idealTree:prePrune | `-- ms@0.3.0\r\n    86 silly idealTree:prePrune +-- ms@0.7.1\r\n    86 silly idealTree:prePrune +-- nodemailer@1.10.0\r\n    86 silly idealTree:prePrune | +-- libmime@1.2.0\r\n    86 silly idealTree:prePrune | | +-- iconv-lite@0.4.13\r\n    86 silly idealTree:prePrune | | +-- libbase64@0.1.0\r\n    86 silly idealTree:prePrune | | `-- libqp@1.1.0\r\n    86 silly idealTree:prePrune | +-- mailcomposer@2.1.0\r\n    86 silly idealTree:prePrune | | `-- buildmail@2.0.0\r\n    86 silly idealTree:prePrune | |   +-- addressparser@0.3.2\r\n    86 silly idealTree:prePrune | |   +-- libbase64@0.1.0\r\n    86 silly idealTree:prePrune | |   +-- libqp@1.1.0\r\n    86 silly idealTree:prePrune | |   `-- needle@0.10.0\r\n    86 silly idealTree:prePrune | |     +-- debug@2.2.0\r\n    86 silly idealTree:prePrune | |     | `-- ms@0.7.1\r\n    86 silly idealTree:prePrune | |     `-- iconv-lite@0.4.13\r\n    86 silly idealTree:prePrune | +-- needle@0.11.0\r\n    86 silly idealTree:prePrune | | +-- debug@2.2.0\r\n    86 silly idealTree:prePrune | | | `-- ms@0.7.1\r\n    86 silly idealTree:prePrune | | `-- iconv-lite@0.4.13\r\n    86 silly idealTree:prePrune | +-- nodemailer-direct-transport@1.1.0\r\n    86 silly idealTree:prePrune | | `-- smtp-connection@1.3.1\r\n    86 silly idealTree:prePrune | `-- nodemailer-smtp-transport@1.0.4\r\n    86 silly idealTree:prePrune |   +-- clone@1.0.2\r\n    86 silly idealTree:prePrune |   +-- nodemailer-wellknown@0.1.7\r\n    86 silly idealTree:prePrune |   `-- smtp-connection@1.3.1\r\n    86 silly idealTree:prePrune +-- object-keys@0.4.0\r\n    86 silly idealTree:prePrune +-- once@1.3.3\r\n    86 silly idealTree:prePrune +-- ordered-read-streams@0.1.0\r\n    86 silly idealTree:prePrune +-- png-file-stream@1.0.0\r\n    86 silly idealTree:prePrune +-- png-js@0.1.1\r\n    86 silly idealTree:prePrune +-- q@1.4.1\r\n    86 silly idealTree:prePrune +-- readable-stream@1.0.33\r\n    86 silly idealTree:prePrune +-- string_decoder@0.10.31\r\n    86 silly idealTree:prePrune +-- through2@0.2.3\r\n    86 silly idealTree:prePrune | +-- readable-stream@1.1.13\r\n    86 silly idealTree:prePrune | `-- xtend@2.1.2\r\n    86 silly idealTree:prePrune +-- unique-stream@1.0.0\r\n    86 silly idealTree:prePrune +-- wrappy@1.0.1\r\n    86 silly idealTree:prePrune `-- xtend@4.0.1\r\n    87 silly loadIdealTree Finishing\r\n    88 silly currentTree email-template@1.0.0\r\n    88 silly currentTree +-- balanced-match@0.3.0\r\n    88 silly currentTree +-- body-parser@1.14.1\r\n    88 silly currentTree | +-- bytes@2.1.0\r\n    88 silly currentTree | +-- content-type@1.0.1\r\n    88 silly currentTree | +-- debug@2.2.0\r\n    88 silly currentTree | | `-- ms@0.7.1\r\n    88 silly currentTree | +-- depd@1.1.0\r\n    88 silly currentTree | +-- http-errors@1.3.1\r\n    88 silly currentTree | | +-- inherits@2.0.1\r\n    88 silly currentTree | | `-- statuses@1.2.1\r\n    88 silly currentTree | +-- iconv-lite@0.4.12\r\n    88 silly currentTree | +-- on-finished@2.3.0\r\n    88 silly currentTree | | `-- ee-first@1.1.1\r\n    88 silly currentTree | +-- qs@5.1.0\r\n    88 silly currentTree | +-- raw-body@2.1.4\r\n    88 silly currentTree | | `-- unpipe@1.0.0\r\n    88 silly currentTree | `-- type-is@1.6.9\r\n    88 silly currentTree |   +-- media-typer@0.3.0\r\n    88 silly currentTree |   `-- mime-types@2.1.7\r\n    88 silly currentTree |     `-- mime-db@1.19.0\r\n    88 silly currentTree +-- brace-expansion@1.1.2\r\n    88 silly currentTree +-- canvas@1.3.4\r\n    88 silly currentTree | `-- nan@2.1.0\r\n    88 silly currentTree +-- colors@0.6.2\r\n    88 silly currentTree +-- commander@0.6.1\r\n    88 silly currentTree +-- concat-map@0.0.1\r\n    88 silly currentTree +-- core-util-is@1.0.2\r\n    88 silly currentTree +-- debug@2.2.0\r\n    88 silly currentTree +-- diff@1.0.2\r\n    88 silly currentTree +-- express@4.13.3\r\n    88 silly currentTree | +-- accepts@1.2.13\r\n    88 silly currentTree | | +-- mime-types@2.1.7\r\n    88 silly currentTree | | | `-- mime-db@1.19.0\r\n    88 silly currentTree | | `-- negotiator@0.5.3\r\n    88 silly currentTree | +-- array-flatten@1.1.1\r\n    88 silly currentTree | +-- content-disposition@0.5.0\r\n    88 silly currentTree | +-- content-type@1.0.1\r\n    88 silly currentTree | +-- cookie-signature@1.0.6\r\n    88 silly currentTree | +-- cookie@0.1.3\r\n    88 silly currentTree | +-- debug@2.2.0\r\n    88 silly currentTree | | `-- ms@0.7.1\r\n    88 silly currentTree | +-- depd@1.0.1\r\n    88 silly currentTree | +-- escape-html@1.0.2\r\n    88 silly currentTree | +-- etag@1.7.0\r\n    88 silly currentTree | +-- finalhandler@0.4.0\r\n    88 silly currentTree | | `-- unpipe@1.0.0\r\n    88 silly currentTree | +-- fresh@0.3.0\r\n    88 silly currentTree | +-- merge-descriptors@1.0.0\r\n    88 silly currentTree | +-- methods@1.1.1\r\n    88 silly currentTree | +-- on-finished@2.3.0\r\n    88 silly currentTree | | `-- ee-first@1.1.1\r\n    88 silly currentTree | +-- parseurl@1.3.0\r\n    88 silly currentTree | +-- path-to-regexp@0.1.7\r\n    88 silly currentTree | +-- proxy-addr@1.0.8\r\n    88 silly currentTree | | +-- forwarded@0.1.0\r\n    88 silly currentTree | | `-- ipaddr.js@1.0.1\r\n    88 silly currentTree | +-- qs@4.0.0\r\n    88 silly currentTree | +-- range-parser@1.0.3\r\n    88 silly currentTree | +-- send@0.13.0\r\n    88 silly currentTree | | +-- destroy@1.0.3\r\n    88 silly currentTree | | +-- http-errors@1.3.1\r\n    88 silly currentTree | | | `-- inherits@2.0.1\r\n    88 silly currentTree | | +-- mime@1.3.4\r\n    88 silly currentTree | | +-- ms@0.7.1\r\n    88 silly currentTree | | `-- statuses@1.2.1\r\n    88 silly currentTree | +-- serve-static@1.10.0\r\n    88 silly currentTree | +-- type-is@1.6.9\r\n    88 silly currentTree | | +-- media-typer@0.3.0\r\n    88 silly currentTree | | `-- mime-types@2.1.7\r\n    88 silly currentTree | |   `-- mime-db@1.19.0\r\n    88 silly currentTree | +-- utils-merge@1.0.0\r\n    88 silly currentTree | `-- vary@1.0.1\r\n    88 silly currentTree +-- find-index@0.1.1\r\n    88 silly currentTree +-- gifencoder@1.0.6\r\n    88 silly currentTree +-- glob-stream@3.1.18\r\n    88 silly currentTree | `-- through2@0.6.5\r\n    88 silly currentTree +-- glob2base@0.0.12\r\n    88 silly currentTree +-- glob@4.5.3\r\n    88 silly currentTree +-- gm-bin@0.1.0\r\n    88 silly currentTree +-- growl@1.7.0\r\n    88 silly currentTree +-- image-size@0.4.0\r\n    88 silly currentTree +-- inflight@1.0.4\r\n    88 silly currentTree +-- inherits@2.0.1\r\n    88 silly currentTree +-- isarray@0.0.1\r\n    88 silly currentTree +-- jade@1.11.0\r\n    88 silly currentTree | +-- character-parser@1.2.1\r\n    88 silly currentTree | +-- clean-css@3.4.8\r\n    88 silly currentTree | | +-- commander@2.8.1\r\n    88 silly currentTree | | | `-- graceful-readlink@1.0.1\r\n    88 silly currentTree | | `-- source-map@0.4.4\r\n    88 silly currentTree | |   `-- amdefine@1.0.0\r\n    88 silly currentTree | +-- commander@2.6.0\r\n    88 silly currentTree | +-- constantinople@3.0.2\r\n    88 silly currentTree | | `-- acorn@2.6.4\r\n    88 silly currentTree | +-- jstransformer@0.0.2\r\n    88 silly currentTree | | +-- is-promise@2.1.0\r\n    88 silly currentTree | | `-- promise@6.1.0\r\n    88 silly currentTree | |   `-- asap@1.0.0\r\n    88 silly currentTree | +-- mkdirp@0.5.1\r\n    88 silly currentTree | | `-- minimist@0.0.8\r\n    88 silly currentTree | +-- transformers@2.1.0\r\n    88 silly currentTree | | +-- css@1.0.8\r\n    88 silly currentTree | | | +-- css-parse@1.0.4\r\n    88 silly currentTree | | | `-- css-stringify@1.0.5\r\n    88 silly currentTree | | +-- promise@2.0.0\r\n    88 silly currentTree | | | `-- is-promise@1.0.1\r\n    88 silly currentTree | | `-- uglify-js@2.2.5\r\n    88 silly currentTree | |   +-- optimist@0.3.7\r\n    88 silly currentTree | |   | `-- wordwrap@0.0.3\r\n    88 silly currentTree | |   `-- source-map@0.1.43\r\n    88 silly currentTree | |     `-- amdefine@1.0.0\r\n    88 silly currentTree | +-- uglify-js@2.6.1\r\n    88 silly currentTree | | +-- async@0.2.10\r\n    88 silly currentTree | | +-- source-map@0.5.3\r\n    88 silly currentTree | | +-- uglify-to-browserify@1.0.2\r\n    88 silly currentTree | | `-- yargs@3.10.0\r\n    88 silly currentTree | |   +-- camelcase@1.2.1\r\n    88 silly currentTree | |   +-- cliui@2.1.0\r\n    88 silly currentTree | |   | +-- center-align@0.1.2\r\n    88 silly currentTree | |   | | +-- align-text@0.1.3\r\n    88 silly currentTree | |   | | | +-- kind-of@2.0.1\r\n    88 silly currentTree | |   | | | | `-- is-buffer@1.1.0\r\n    88 silly currentTree | |   | | | +-- longest@1.0.1\r\n    88 silly currentTree | |   | | | `-- repeat-string@1.5.2\r\n    88 silly currentTree | |   | | `-- lazy-cache@0.2.4\r\n    88 silly currentTree | |   | +-- right-align@0.1.3\r\n    88 silly currentTree | |   | | `-- align-text@0.1.3\r\n    88 silly currentTree | |   | |   +-- kind-of@2.0.1\r\n    88 silly currentTree | |   | |   | `-- is-buffer@1.1.0\r\n    88 silly currentTree | |   | |   +-- longest@1.0.1\r\n    88 silly currentTree | |   | |   `-- repeat-string@1.5.2\r\n    88 silly currentTree | |   | `-- wordwrap@0.0.2\r\n    88 silly currentTree | |   +-- decamelize@1.1.1\r\n    88 silly currentTree | |   `-- window-size@0.1.0\r\n    88 silly currentTree | +-- void-elements@2.0.1\r\n    88 silly currentTree | `-- with@4.0.3\r\n    88 silly currentTree |   +-- acorn-globals@1.0.9\r\n    88 silly currentTree |   | `-- acorn@2.6.4\r\n    88 silly currentTree |   `-- acorn@1.2.2\r\n    88 silly currentTree +-- lodash@3.10.1\r\n    88 silly currentTree +-- minimatch@2.0.10\r\n    88 silly currentTree +-- mkdirp@0.3.3\r\n    88 silly currentTree +-- mocha@1.9.0\r\n    88 silly currentTree | +-- jade@0.26.3\r\n    88 silly currentTree | | `-- mkdirp@0.3.0\r\n    88 silly currentTree | `-- ms@0.3.0\r\n    88 silly currentTree +-- ms@0.7.1\r\n    88 silly currentTree +-- nodemailer@1.10.0\r\n    88 silly currentTree | +-- libmime@1.2.0\r\n    88 silly currentTree | | +-- iconv-lite@0.4.13\r\n    88 silly currentTree | | +-- libbase64@0.1.0\r\n    88 silly currentTree | | `-- libqp@1.1.0\r\n    88 silly currentTree | +-- mailcomposer@2.1.0\r\n    88 silly currentTree | | `-- buildmail@2.0.0\r\n    88 silly currentTree | |   +-- addressparser@0.3.2\r\n    88 silly currentTree | |   +-- libbase64@0.1.0\r\n    88 silly currentTree | |   +-- libqp@1.1.0\r\n    88 silly currentTree | |   `-- needle@0.10.0\r\n    88 silly currentTree | |     +-- debug@2.2.0\r\n    88 silly currentTree | |     | `-- ms@0.7.1\r\n    88 silly currentTree | |     `-- iconv-lite@0.4.13\r\n    88 silly currentTree | +-- needle@0.11.0\r\n    88 silly currentTree | | +-- debug@2.2.0\r\n    88 silly currentTree | | | `-- ms@0.7.1\r\n    88 silly currentTree | | `-- iconv-lite@0.4.13\r\n    88 silly currentTree | +-- nodemailer-direct-transport@1.1.0\r\n    88 silly currentTree | | `-- smtp-connection@1.3.1\r\n    88 silly currentTree | `-- nodemailer-smtp-transport@1.0.4\r\n    88 silly currentTree |   +-- clone@1.0.2\r\n    88 silly currentTree |   +-- nodemailer-wellknown@0.1.7\r\n    88 silly currentTree |   `-- smtp-connection@1.3.1\r\n    88 silly currentTree +-- object-keys@0.4.0\r\n    88 silly currentTree +-- once@1.3.3\r\n    88 silly currentTree +-- ordered-read-streams@0.1.0\r\n    88 silly currentTree +-- png-file-stream@1.0.0\r\n    88 silly currentTree +-- png-js@0.1.1\r\n    88 silly currentTree +-- q@1.4.1\r\n    88 silly currentTree +-- readable-stream@1.0.33\r\n    88 silly currentTree +-- string_decoder@0.10.31\r\n    88 silly currentTree +-- through2@0.2.3\r\n    88 silly currentTree | +-- readable-stream@1.1.13\r\n    88 silly currentTree | `-- xtend@2.1.2\r\n    88 silly currentTree +-- unique-stream@1.0.0\r\n    88 silly currentTree +-- wrappy@1.0.1\r\n    88 silly currentTree `-- xtend@4.0.1\r\n    89 silly idealTree email-template@1.0.0\r\n    89 silly idealTree +-- balanced-match@0.3.0\r\n    89 silly idealTree +-- bindings@1.1.0\r\n    89 silly idealTree +-- body-parser@1.14.1\r\n    89 silly idealTree | +-- bytes@2.1.0\r\n    89 silly idealTree | +-- content-type@1.0.1\r\n    89 silly idealTree | +-- debug@2.2.0\r\n    89 silly idealTree | | `-- ms@0.7.1\r\n    89 silly idealTree | +-- depd@1.1.0\r\n    89 silly idealTree | +-- http-errors@1.3.1\r\n    89 silly idealTree | | +-- inherits@2.0.1\r\n    89 silly idealTree | | `-- statuses@1.2.1\r\n    89 silly idealTree | +-- iconv-lite@0.4.12\r\n    89 silly idealTree | +-- on-finished@2.3.0\r\n    89 silly idealTree | | `-- ee-first@1.1.1\r\n    89 silly idealTree | +-- qs@5.1.0\r\n    89 silly idealTree | +-- raw-body@2.1.4\r\n    89 silly idealTree | | `-- unpipe@1.0.0\r\n    89 silly idealTree | `-- type-is@1.6.9\r\n    89 silly idealTree |   +-- media-typer@0.3.0\r\n    89 silly idealTree |   `-- mime-types@2.1.7\r\n    89 silly idealTree |     `-- mime-db@1.19.0\r\n    89 silly idealTree +-- brace-expansion@1.1.2\r\n    89 silly idealTree +-- canvas@1.3.4\r\n    89 silly idealTree | `-- nan@2.1.0\r\n    89 silly idealTree +-- colors@0.6.2\r\n    89 silly idealTree +-- commander@0.6.1\r\n    89 silly idealTree +-- concat-map@0.0.1\r\n    89 silly idealTree +-- core-util-is@1.0.2\r\n    89 silly idealTree +-- debug@2.2.0\r\n    89 silly idealTree +-- diff@1.0.2\r\n    89 silly idealTree +-- express@4.13.3\r\n    89 silly idealTree | +-- accepts@1.2.13\r\n    89 silly idealTree | | +-- mime-types@2.1.7\r\n    89 silly idealTree | | | `-- mime-db@1.19.0\r\n    89 silly idealTree | | `-- negotiator@0.5.3\r\n    89 silly idealTree | +-- array-flatten@1.1.1\r\n    89 silly idealTree | +-- content-disposition@0.5.0\r\n    89 silly idealTree | +-- content-type@1.0.1\r\n    89 silly idealTree | +-- cookie-signature@1.0.6\r\n    89 silly idealTree | +-- cookie@0.1.3\r\n    89 silly idealTree | +-- debug@2.2.0\r\n    89 silly idealTree | | `-- ms@0.7.1\r\n    89 silly idealTree | +-- depd@1.0.1\r\n    89 silly idealTree | +-- escape-html@1.0.2\r\n    89 silly idealTree | +-- etag@1.7.0\r\n    89 silly idealTree | +-- finalhandler@0.4.0\r\n    89 silly idealTree | | `-- unpipe@1.0.0\r\n    89 silly idealTree | +-- fresh@0.3.0\r\n    89 silly idealTree | +-- merge-descriptors@1.0.0\r\n    89 silly idealTree | +-- methods@1.1.1\r\n    89 silly idealTree | +-- on-finished@2.3.0\r\n    89 silly idealTree | | `-- ee-first@1.1.1\r\n    89 silly idealTree | +-- parseurl@1.3.0\r\n    89 silly idealTree | +-- path-to-regexp@0.1.7\r\n    89 silly idealTree | +-- proxy-addr@1.0.8\r\n    89 silly idealTree | | +-- forwarded@0.1.0\r\n    89 silly idealTree | | `-- ipaddr.js@1.0.1\r\n    89 silly idealTree | +-- qs@4.0.0\r\n    89 silly idealTree | +-- range-parser@1.0.3\r\n    89 silly idealTree | +-- send@0.13.0\r\n    89 silly idealTree | | +-- destroy@1.0.3\r\n    89 silly idealTree | | +-- http-errors@1.3.1\r\n    89 silly idealTree | | | `-- inherits@2.0.1\r\n    89 silly idealTree | | +-- mime@1.3.4\r\n    89 silly idealTree | | +-- ms@0.7.1\r\n    89 silly idealTree | | `-- statuses@1.2.1\r\n    89 silly idealTree | +-- serve-static@1.10.0\r\n    89 silly idealTree | +-- type-is@1.6.9\r\n    89 silly idealTree | | +-- media-typer@0.3.0\r\n    89 silly idealTree | | `-- mime-types@2.1.7\r\n    89 silly idealTree | |   `-- mime-db@1.19.0\r\n    89 silly idealTree | +-- utils-merge@1.0.0\r\n    89 silly idealTree | `-- vary@1.0.1\r\n    89 silly idealTree +-- find-index@0.1.1\r\n    89 silly idealTree +-- gif@2.0.2\r\n    89 silly idealTree +-- gifencoder@1.0.6\r\n    89 silly idealTree +-- glob-stream@3.1.18\r\n    89 silly idealTree | `-- through2@0.6.5\r\n    89 silly idealTree +-- glob2base@0.0.12\r\n    89 silly idealTree +-- glob@4.5.3\r\n    89 silly idealTree +-- gm-bin@0.1.0\r\n    89 silly idealTree +-- growl@1.7.0\r\n    89 silly idealTree +-- image-size@0.4.0\r\n    89 silly idealTree +-- inflight@1.0.4\r\n    89 silly idealTree +-- inherits@2.0.1\r\n    89 silly idealTree +-- isarray@0.0.1\r\n    89 silly idealTree +-- jade@1.11.0\r\n    89 silly idealTree | +-- character-parser@1.2.1\r\n    89 silly idealTree | +-- clean-css@3.4.8\r\n    89 silly idealTree | | +-- commander@2.8.1\r\n    89 silly idealTree | | | `-- graceful-readlink@1.0.1\r\n    89 silly idealTree | | `-- source-map@0.4.4\r\n    89 silly idealTree | |   `-- amdefine@1.0.0\r\n    89 silly idealTree | +-- commander@2.6.0\r\n    89 silly idealTree | +-- constantinople@3.0.2\r\n    89 silly idealTree | | `-- acorn@2.6.4\r\n    89 silly idealTree | +-- jstransformer@0.0.2\r\n    89 silly idealTree | | +-- is-promise@2.1.0\r\n    89 silly idealTree | | `-- promise@6.1.0\r\n    89 silly idealTree | |   `-- asap@1.0.0\r\n    89 silly idealTree | +-- mkdirp@0.5.1\r\n    89 silly idealTree | | `-- minimist@0.0.8\r\n    89 silly idealTree | +-- transformers@2.1.0\r\n    89 silly idealTree | | +-- css@1.0.8\r\n    89 silly idealTree | | | +-- css-parse@1.0.4\r\n    89 silly idealTree | | | `-- css-stringify@1.0.5\r\n    89 silly idealTree | | +-- promise@2.0.0\r\n    89 silly idealTree | | | `-- is-promise@1.0.1\r\n    89 silly idealTree | | `-- uglify-js@2.2.5\r\n    89 silly idealTree | |   +-- optimist@0.3.7\r\n    89 silly idealTree | |   | `-- wordwrap@0.0.3\r\n    89 silly idealTree | |   `-- source-map@0.1.43\r\n    89 silly idealTree | |     `-- amdefine@1.0.0\r\n    89 silly idealTree | +-- uglify-js@2.6.1\r\n    89 silly idealTree | | +-- async@0.2.10\r\n    89 silly idealTree | | +-- source-map@0.5.3\r\n    89 silly idealTree | | +-- uglify-to-browserify@1.0.2\r\n    89 silly idealTree | | `-- yargs@3.10.0\r\n    89 silly idealTree | |   +-- camelcase@1.2.1\r\n    89 silly idealTree | |   +-- cliui@2.1.0\r\n    89 silly idealTree | |   | +-- center-align@0.1.2\r\n    89 silly idealTree | |   | | +-- align-text@0.1.3\r\n    89 silly idealTree | |   | | | +-- kind-of@2.0.1\r\n    89 silly idealTree | |   | | | | `-- is-buffer@1.1.0\r\n    89 silly idealTree | |   | | | +-- longest@1.0.1\r\n    89 silly idealTree | |   | | | `-- repeat-string@1.5.2\r\n    89 silly idealTree | |   | | `-- lazy-cache@0.2.4\r\n    89 silly idealTree | |   | +-- right-align@0.1.3\r\n    89 silly idealTree | |   | | `-- align-text@0.1.3\r\n    89 silly idealTree | |   | |   +-- kind-of@2.0.1\r\n    89 silly idealTree | |   | |   | `-- is-buffer@1.1.0\r\n    89 silly idealTree | |   | |   +-- longest@1.0.1\r\n    89 silly idealTree | |   | |   `-- repeat-string@1.5.2\r\n    89 silly idealTree | |   | `-- wordwrap@0.0.2\r\n    89 silly idealTree | |   +-- decamelize@1.1.1\r\n    89 silly idealTree | |   `-- window-size@0.1.0\r\n    89 silly idealTree | +-- void-elements@2.0.1\r\n    89 silly idealTree | `-- with@4.0.3\r\n    89 silly idealTree |   +-- acorn-globals@1.0.9\r\n    89 silly idealTree |   | `-- acorn@2.6.4\r\n    89 silly idealTree |   `-- acorn@1.2.2\r\n    89 silly idealTree +-- lodash@3.10.1\r\n    89 silly idealTree +-- minimatch@2.0.10\r\n    89 silly idealTree +-- mkdirp@0.3.3\r\n    89 silly idealTree +-- mocha@1.9.0\r\n    89 silly idealTree | +-- jade@0.26.3\r\n    89 silly idealTree | | `-- mkdirp@0.3.0\r\n    89 silly idealTree | `-- ms@0.3.0\r\n    89 silly idealTree +-- ms@0.7.1\r\n    89 silly idealTree +-- nodemailer@1.10.0\r\n    89 silly idealTree | +-- libmime@1.2.0\r\n    89 silly idealTree | | +-- iconv-lite@0.4.13\r\n    89 silly idealTree | | +-- libbase64@0.1.0\r\n    89 silly idealTree | | `-- libqp@1.1.0\r\n    89 silly idealTree | +-- mailcomposer@2.1.0\r\n    89 silly idealTree | | `-- buildmail@2.0.0\r\n    89 silly idealTree | |   +-- addressparser@0.3.2\r\n    89 silly idealTree | |   +-- libbase64@0.1.0\r\n    89 silly idealTree | |   +-- libqp@1.1.0\r\n    89 silly idealTree | |   `-- needle@0.10.0\r\n    89 silly idealTree | |     +-- debug@2.2.0\r\n    89 silly idealTree | |     | `-- ms@0.7.1\r\n    89 silly idealTree | |     `-- iconv-lite@0.4.13\r\n    89 silly idealTree | +-- needle@0.11.0\r\n    89 silly idealTree | | +-- debug@2.2.0\r\n    89 silly idealTree | | | `-- ms@0.7.1\r\n    89 silly idealTree | | `-- iconv-lite@0.4.13\r\n    89 silly idealTree | +-- nodemailer-direct-transport@1.1.0\r\n    89 silly idealTree | | `-- smtp-connection@1.3.1\r\n    89 silly idealTree | `-- nodemailer-smtp-transport@1.0.4\r\n    89 silly idealTree |   +-- clone@1.0.2\r\n    89 silly idealTree |   +-- nodemailer-wellknown@0.1.7\r\n    89 silly idealTree |   `-- smtp-connection@1.3.1\r\n    89 silly idealTree +-- object-keys@0.4.0\r\n    89 silly idealTree +-- once@1.3.3\r\n    89 silly idealTree +-- ordered-read-streams@0.1.0\r\n    89 silly idealTree +-- png-file-stream@1.0.0\r\n    89 silly idealTree +-- png-js@0.1.1\r\n    89 silly idealTree +-- q@1.4.1\r\n    89 silly idealTree +-- readable-stream@1.0.33\r\n    89 silly idealTree +-- string_decoder@0.10.31\r\n    89 silly idealTree +-- through2@0.2.3\r\n    89 silly idealTree | +-- readable-stream@1.1.13\r\n    89 silly idealTree | `-- xtend@2.1.2\r\n    89 silly idealTree +-- unique-stream@1.0.0\r\n    89 silly idealTree +-- wrappy@1.0.1\r\n    89 silly idealTree `-- xtend@4.0.1\r\n    90 silly generateActionsToTake Starting\r\n    91 silly install generateActionsToTake\r\n    92 silly generateActionsToTake Finishing\r\n    93 silly diffTrees action count 2\r\n    94 silly diffTrees add bindings@1.1.0\r\n    95 silly diffTrees add gif@2.0.2\r\n    96 silly decomposeActions action count 16\r\n    97 silly decomposeActions fetch bindings@1.1.0\r\n    98 silly decomposeActions extract bindings@1.1.0\r\n    99 silly decomposeActions test bindings@1.1.0\r\n    100 silly decomposeActions preinstall bindings@1.1.0\r\n    101 silly decomposeActions build bindings@1.1.0\r\n    102 silly decomposeActions install bindings@1.1.0\r\n    103 silly decomposeActions postinstall bindings@1.1.0\r\n    104 silly decomposeActions finalize bindings@1.1.0\r\n    105 silly decomposeActions fetch gif@2.0.2\r\n    106 silly decomposeActions extract gif@2.0.2\r\n    107 silly decomposeActions test gif@2.0.2\r\n    108 silly decomposeActions preinstall gif@2.0.2\r\n    109 silly decomposeActions build gif@2.0.2\r\n    110 silly decomposeActions install gif@2.0.2\r\n    111 silly decomposeActions postinstall gif@2.0.2\r\n    112 silly decomposeActions finalize gif@2.0.2\r\n    113 silly executeActions Starting\r\n    114 silly install executeActions\r\n    115 silly doSerial global-install 0\r\n    116 silly doParallel fetch 2\r\n    117 verbose lock using /path/to/.npm/_locks/staging-0caf11c157c6b6fe.lock for /path/to/project/node_modules/.staging\r\n    118 silly doParallel extract 2\r\n    119 silly extract bindings@1.1.0\r\n    120 silly extract gif@2.0.2\r\n    121 verbose unbuild node_modules/.staging/bindings-ab5d042d\r\n    122 verbose unbuild node_modules/.staging/gif-b6973d4d\r\n    123 silly gentlyRm /path/to/project/node_modules/.staging/bindings-ab5d042d is being purged from base /path/to/project\r\n    124 verbose gentlyRm don't care about contents; nuking /path/to/project/node_modules/.staging/bindings-ab5d042d\r\n    125 silly gentlyRm /path/to/project/node_modules/.staging/gif-b6973d4d is being purged from base /path/to/project\r\n    126 verbose gentlyRm don't care about contents; nuking /path/to/project/node_modules/.staging/gif-b6973d4d\r\n    127 verbose tar unpack /path/to/.npm/bindings/1.1.0/package.tgz\r\n    128 verbose tar unpacking to /path/to/project/node_modules/.staging/bindings-ab5d042d\r\n    129 silly gentlyRm /path/to/project/node_modules/.staging/bindings-ab5d042d is being purged\r\n    130 verbose gentlyRm don't care about contents; nuking /path/to/project/node_modules/.staging/bindings-ab5d042d\r\n    131 verbose tar unpack /path/to/.npm/gif/2.0.2/package.tgz\r\n    132 verbose tar unpacking to /path/to/project/node_modules/.staging/gif-b6973d4d\r\n    133 silly gentlyRm /path/to/project/node_modules/.staging/gif-b6973d4d is being purged\r\n    134 verbose gentlyRm don't care about contents; nuking /path/to/project/node_modules/.staging/gif-b6973d4d\r\n    135 silly gunzTarPerm modes [ '775', '664' ]\r\n    136 silly gunzTarPerm modes [ '775', '664' ]\r\n    137 silly gunzTarPerm extractEntry package.json\r\n    138 silly gunzTarPerm modified mode [ 'package.json', 420, 436 ]\r\n    139 silly gunzTarPerm extractEntry package.json\r\n    140 silly gunzTarPerm modified mode [ 'package.json', 420, 436 ]\r\n    141 silly gunzTarPerm extractEntry README.md\r\n    142 silly gunzTarPerm modified mode [ 'README.md', 420, 436 ]\r\n    143 silly gunzTarPerm extractEntry bindings.js\r\n    144 silly gunzTarPerm modified mode [ 'bindings.js', 420, 436 ]\r\n    145 silly gunzTarPerm extractEntry .npmignore\r\n    146 silly gunzTarPerm modified mode [ '.npmignore', 420, 436 ]\r\n    147 silly gunzTarPerm extractEntry README.md\r\n    148 silly gunzTarPerm modified mode [ 'README.md', 420, 436 ]\r\n    149 silly gunzTarPerm extractEntry index.js\r\n    150 silly gunzTarPerm modified mode [ 'index.js', 420, 436 ]\r\n    151 silly gunzTarPerm extractEntry tests/dynamic-gif-stack.js\r\n    152 silly gunzTarPerm modified mode [ 'tests/dynamic-gif-stack.js', 420, 436 ]\r\n    153 silly gunzTarPerm extractEntry tests/gif-async.js\r\n    154 silly gunzTarPerm modified mode [ 'tests/gif-async.js', 420, 436 ]\r\n    155 silly gunzTarPerm extractEntry tests/dynamic-gif-stack-async.js\r\n    156 silly gunzTarPerm modified mode [ 'tests/dynamic-gif-stack-async.js', 420, 436 ]\r\n    157 silly gunzTarPerm extractEntry tests/gif.js\r\n    158 silly gunzTarPerm modified mode [ 'tests/gif.js', 420, 436 ]\r\n    159 silly gunzTarPerm extractEntry tests/push-data/05-rgba-96-397-32-2.dat\r\n    160 silly gunzTarPerm modified mode [ 'tests/push-data/05-rgba-96-397-32-2.dat', 420, 436 ]\r\n    161 silly gunzTarPerm extractEntry tests/push-data/10-rgba-112-397-32-2.dat\r\n    162 silly gunzTarPerm modified mode [ 'tests/push-data/10-rgba-112-397-32-2.dat', 420, 436 ]\r\n    163 silly gunzTarPerm extractEntry tests/push-data/19-rgba-160-397-32-2.dat\r\n    164 silly gunzTarPerm modified mode [ 'tests/push-data/19-rgba-160-397-32-2.dat', 420, 436 ]\r\n    165 silly gunzTarPerm extractEntry tests/push-data/20-rgba-176-386-16-10.dat\r\n    166 silly gunzTarPerm modified mode [ 'tests/push-data/20-rgba-176-386-16-10.dat', 420, 436 ]\r\n    167 silly gunzTarPerm extractEntry tests/push-data/04-rgba-96-386-16-10.dat\r\n    168 silly gunzTarPerm modified mode [ 'tests/push-data/04-rgba-96-386-16-10.dat', 420, 436 ]\r\n    169 silly gunzTarPerm extractEntry tests/push-data/16-rgba-144-397-32-2.dat\r\n    170 silly gunzTarPerm modified mode [ 'tests/push-data/16-rgba-144-397-32-2.dat', 420, 436 ]\r\n    171 silly gunzTarPerm extractEntry tests/push-data/12-rgba-128-397-32-2.dat\r\n    172 silly gunzTarPerm modified mode [ 'tests/push-data/12-rgba-128-397-32-2.dat', 420, 436 ]\r\n    173 silly gunzTarPerm extractEntry tests/push-data/07-rgba-112-386-16-10.dat\r\n    174 silly gunzTarPerm modified mode [ 'tests/push-data/07-rgba-112-386-16-10.dat', 420, 436 ]\r\n    175 silly gunzTarPerm extractEntry tests/push-data/02-rgba-96-390-16-5.dat\r\n    176 silly gunzTarPerm modified mode [ 'tests/push-data/02-rgba-96-390-16-5.dat', 420, 436 ]\r\n    177 silly gunzTarPerm extractEntry tests/push-data/09-rgba-112-389-32-7.dat\r\n    178 silly gunzTarPerm modified mode [ 'tests/push-data/09-rgba-112-389-32-7.dat', 420, 436 ]\r\n    179 silly gunzTarPerm extractEntry tests/push-data/17-rgba-160-393-16-6.dat\r\n    180 silly gunzTarPerm modified mode [ 'tests/push-data/17-rgba-160-393-16-6.dat', 420, 436 ]\r\n    181 silly gunzTarPerm extractEntry tests/push-data/14-rgba-144-397-32-2.dat\r\n    182 silly gunzTarPerm modified mode [ 'tests/push-data/14-rgba-144-397-32-2.dat', 420, 436 ]\r\n    183 silly gunzTarPerm extractEntry tests/push-data/11-rgba-128-386-16-10.dat\r\n    184 silly gunzTarPerm modified mode [ 'tests/push-data/11-rgba-128-386-16-10.dat', 420, 436 ]\r\n    185 silly gunzTarPerm extractEntry tests/push-data/06-rgba-96-397-32-2.dat\r\n    186 silly gunzTarPerm modified mode [ 'tests/push-data/06-rgba-96-397-32-2.dat', 420, 436 ]\r\n    187 silly gunzTarPerm extractEntry tests/push-data/08-rgba-112-397-32-2.dat\r\n    188 silly gunzTarPerm modified mode [ 'tests/push-data/08-rgba-112-397-32-2.dat', 420, 436 ]\r\n    189 silly gunzTarPerm extractEntry tests/push-data/13-rgba-144-386-16-10.dat\r\n    190 silly gunzTarPerm modified mode [ 'tests/push-data/13-rgba-144-386-16-10.dat', 420, 436 ]\r\n    191 silly gunzTarPerm extractEntry tests/push-data/01-rgba-80-389-16-7.dat\r\n    192 silly gunzTarPerm modified mode [ 'tests/push-data/01-rgba-80-389-16-7.dat', 420, 436 ]\r\n    193 silly gunzTarPerm extractEntry tests/push-data/15-rgba-144-389-16-7.dat\r\n    194 silly gunzTarPerm modified mode [ 'tests/push-data/15-rgba-144-389-16-7.dat', 420, 436 ]\r\n    195 silly gunzTarPerm extractEntry tests/push-data/18-rgba-176-397-16-2.dat\r\n    196 silly gunzTarPerm modified mode [ 'tests/push-data/18-rgba-176-397-16-2.dat', 420, 436 ]\r\n    197 silly gunzTarPerm extractEntry tests/push-data/03-rgba-80-397-32-2.dat\r\n    198 silly gunzTarPerm modified mode [ 'tests/push-data/03-rgba-80-397-32-2.dat', 420, 436 ]\r\n    199 silly gunzTarPerm extractEntry tests/animated-gif/animated-gif-file-writer.js\r\n    200 silly gunzTarPerm modified mode [ 'tests/animated-gif/animated-gif-file-writer.js', 420, 436 ]\r\n    201 silly gunzTarPerm extractEntry tests/animated-gif/animated-gif-async.js\r\n    202 silly gunzTarPerm modified mode [ 'tests/animated-gif/animated-gif-async.js', 420, 436 ]\r\n    203 silly gunzTarPerm extractEntry tests/animated-gif/animated-gif.js\r\n    204 silly gunzTarPerm modified mode [ 'tests/animated-gif/animated-gif.js', 420, 436 ]\r\n    205 silly gunzTarPerm extractEntry tests/animated-gif/frames.tgz\r\n    206 silly gunzTarPerm modified mode [ 'tests/animated-gif/frames.tgz', 420, 436 ]\r\n    207 silly gunzTarPerm extractEntry discovery/rgb2gif_mem.c\r\n    208 silly gunzTarPerm modified mode [ 'discovery/rgb2gif_mem.c', 420, 436 ]\r\n    209 silly gunzTarPerm extractEntry discovery/rgb2gif.c\r\n    210 silly gunzTarPerm modified mode [ 'discovery/rgb2gif.c', 420, 436 ]\r\n    211 silly gunzTarPerm extractEntry discovery/terminal.tar.bz2\r\n    212 silly gunzTarPerm modified mode [ 'discovery/terminal.tar.bz2', 420, 436 ]\r\n    213 silly gunzTarPerm extractEntry deps/giflib/gif_lib_private.h\r\n    214 silly gunzTarPerm modified mode [ 'deps/giflib/gif_lib_private.h', 420, 436 ]\r\n    215 silly gunzTarPerm extractEntry deps/giflib/gif_hash.h\r\n    216 silly gunzTarPerm modified mode [ 'deps/giflib/gif_hash.h', 420, 436 ]\r\n    217 silly gunzTarPerm extractEntry deps/giflib/egif_lib.c\r\n    218 silly gunzTarPerm modified mode [ 'deps/giflib/egif_lib.c', 420, 436 ]\r\n    219 silly gunzTarPerm extractEntry deps/giflib/gif_hash.c\r\n    220 silly gunzTarPerm modified mode [ 'deps/giflib/gif_hash.c', 420, 436 ]\r\n    221 silly gunzTarPerm extractEntry deps/giflib/gif_font.c\r\n    222 silly gunzTarPerm modified mode [ 'deps/giflib/gif_font.c', 420, 436 ]\r\n    223 silly gunzTarPerm extractEntry deps/giflib/gifalloc.c\r\n    224 silly gunzTarPerm modified mode [ 'deps/giflib/gifalloc.c', 420, 436 ]\r\n    225 silly gunzTarPerm extractEntry deps/giflib/gif_err.c\r\n    226 silly gunzTarPerm modified mode [ 'deps/giflib/gif_err.c', 420, 436 ]\r\n    227 silly gunzTarPerm extractEntry deps/giflib/giflib.gyp\r\n    228 silly gunzTarPerm modified mode [ 'deps/giflib/giflib.gyp', 420, 436 ]\r\n    229 silly gunzTarPerm extractEntry deps/giflib/quantize.c\r\n    230 silly gunzTarPerm modified mode [ 'deps/giflib/quantize.c', 420, 436 ]\r\n    231 silly gunzTarPerm extractEntry deps/giflib/dgif_lib.c\r\n    232 silly gunzTarPerm modified mode [ 'deps/giflib/dgif_lib.c', 420, 436 ]\r\n    233 silly gunzTarPerm extractEntry deps/giflib/gif_lib.h\r\n    234 silly gunzTarPerm modified mode [ 'deps/giflib/gif_lib.h', 420, 436 ]\r\n    235 silly gunzTarPerm extractEntry src/gif.cpp\r\n    236 silly gunzTarPerm modified mode [ 'src/gif.cpp', 420, 436 ]\r\n    237 silly gunzTarPerm extractEntry src/animated_gif.cpp~\r\n    238 silly gunzTarPerm modified mode [ 'src/animated_gif.cpp~', 420, 436 ]\r\n    239 silly gunzTarPerm extractEntry src/palette.cpp\r\n    240 silly gunzTarPerm modified mode [ 'src/palette.cpp', 420, 436 ]\r\n    241 silly gunzTarPerm extractEntry src/async_animated_gif.cpp\r\n    242 silly gunzTarPerm modified mode [ 'src/async_animated_gif.cpp', 420, 436 ]\r\n    243 silly gunzTarPerm extractEntry src/dynamic_gif_stack.cpp\r\n    244 silly gunzTarPerm modified mode [ 'src/dynamic_gif_stack.cpp', 420, 436 ]\r\n    245 silly gunzTarPerm extractEntry src/gif_encoder.h\r\n    246 silly gunzTarPerm modified mode [ 'src/gif_encoder.h', 420, 436 ]\r\n    247 silly gunzTarPerm extractEntry src/quantize.cpp\r\n    248 silly gunzTarPerm modified mode [ 'src/quantize.cpp', 420, 436 ]\r\n    249 silly gunzTarPerm extractEntry src/buffer_compat.cpp\r\n    250 silly gunzTarPerm modified mode [ 'src/buffer_compat.cpp', 420, 436 ]\r\n    251 silly gunzTarPerm extractEntry src/utils.cpp\r\n    252 silly gunzTarPerm modified mode [ 'src/utils.cpp', 420, 436 ]\r\n    253 silly gunzTarPerm extractEntry src/dynamic_gif_stack.h\r\n    254 silly gunzTarPerm modified mode [ 'src/dynamic_gif_stack.h', 420, 436 ]\r\n    255 silly gunzTarPerm extractEntry src/common.h\r\n    256 silly gunzTarPerm modified mode [ 'src/common.h', 420, 436 ]\r\n    257 silly gunzTarPerm extractEntry src/animated_gif.h\r\n    258 silly gunzTarPerm modified mode [ 'src/animated_gif.h', 420, 436 ]\r\n    259 silly gunzTarPerm extractEntry src/utils.h\r\n    260 silly gunzTarPerm modified mode [ 'src/utils.h', 420, 436 ]\r\n    261 silly gunzTarPerm extractEntry src/quantize.h\r\n    262 silly gunzTarPerm modified mode [ 'src/quantize.h', 420, 436 ]\r\n    263 silly gunzTarPerm extractEntry src/buffer_compat.h\r\n    264 silly gunzTarPerm modified mode [ 'src/buffer_compat.h', 420, 436 ]\r\n    265 silly gunzTarPerm extractEntry src/common.cpp\r\n    266 silly gunzTarPerm modified mode [ 'src/common.cpp', 420, 436 ]\r\n    267 silly gunzTarPerm extractEntry src/animated_gif.cpp\r\n    268 silly gunzTarPerm modified mode [ 'src/animated_gif.cpp', 420, 436 ]\r\n    269 silly gunzTarPerm extractEntry src/gif.h\r\n    270 silly gunzTarPerm modified mode [ 'src/gif.h', 420, 436 ]\r\n    271 silly gunzTarPerm extractEntry src/module.cpp\r\n    272 silly gunzTarPerm modified mode [ 'src/module.cpp', 420, 436 ]\r\n    273 silly gunzTarPerm extractEntry src/palette.h\r\n    274 silly gunzTarPerm modified mode [ 'src/palette.h', 420, 436 ]\r\n    275 silly gunzTarPerm extractEntry src/gif_encoder.cpp\r\n    276 silly gunzTarPerm modified mode [ 'src/gif_encoder.cpp', 420, 436 ]\r\n    277 silly gunzTarPerm extractEntry src/loki/ScopeGuard.h\r\n    278 silly gunzTarPerm modified mode [ 'src/loki/ScopeGuard.h', 420, 436 ]\r\n    279 silly gunzTarPerm extractEntry src/loki/RefToValue.h\r\n    280 silly gunzTarPerm modified mode [ 'src/loki/RefToValue.h', 420, 436 ]\r\n    281 silly gunzTarPerm extractEntry src/async_animated_gif.h\r\n    282 silly gunzTarPerm modified mode [ 'src/async_animated_gif.h', 420, 436 ]\r\n    283 silly gunzTarPerm extractEntry package.json~\r\n    284 silly gunzTarPerm modified mode [ 'package.json~', 420, 436 ]\r\n    285 silly gunzTarPerm extractEntry binding.gyp\r\n    286 silly gunzTarPerm modified mode [ 'binding.gyp', 420, 436 ]\r\n    287 silly gentlyRm /path/to/project/node_modules/.staging/bindings-ab5d042d/node_modules is being purged\r\n    288 verbose gentlyRm don't care about contents; nuking /path/to/project/node_modules/.staging/bindings-ab5d042d/node_modules\r\n    289 silly gentlyRm /path/to/project/node_modules/.staging/gif-b6973d4d/node_modules is being purged\r\n    290 verbose gentlyRm don't care about contents; nuking /path/to/project/node_modules/.staging/gif-b6973d4d/node_modules\r\n    291 silly doParallel preinstall 2\r\n    292 silly preinstall bindings@1.1.0 /path/to/project/node_modules/.staging/bindings-ab5d042d\r\n    293 info lifecycle bindings@1.1.0~preinstall: bindings@1.1.0\r\n    294 silly preinstall gif@2.0.2 /path/to/project/node_modules/.staging/gif-b6973d4d\r\n    295 info lifecycle gif@2.0.2~preinstall: gif@2.0.2\r\n    296 silly lifecycle bindings@1.1.0~preinstall: no script for preinstall, continuing\r\n    297 silly lifecycle gif@2.0.2~preinstall: no script for preinstall, continuing\r\n    298 silly doReverseSerial remove 0\r\n    299 silly doSerial move 0\r\n    300 silly doSerial finalize 2\r\n    301 silly finalize /path/to/project/node_modules/bindings\r\n    302 silly finalize /path/to/project/node_modules/gif\r\n    303 silly doSerial build 2\r\n    304 silly build bindings@1.1.0\r\n    305 info linkStuff bindings@1.1.0\r\n    306 silly linkStuff bindings@1.1.0 has /path/to/project/node_modules as its parent node_modules\r\n    307 verbose linkBins bindings@1.1.0\r\n    308 verbose linkMans bindings@1.1.0\r\n    309 silly build gif@2.0.2\r\n    310 info linkStuff gif@2.0.2\r\n    311 silly linkStuff gif@2.0.2 has /path/to/project/node_modules as its parent node_modules\r\n    312 verbose linkBins gif@2.0.2\r\n    313 verbose linkMans gif@2.0.2\r\n    314 silly doSerial global-link 0\r\n    315 silly doParallel update-linked 0\r\n    316 silly doSerial install 2\r\n    317 silly install bindings@1.1.0 /path/to/project/node_modules/.staging/bindings-ab5d042d\r\n    318 info lifecycle bindings@1.1.0~install: bindings@1.1.0\r\n    319 silly lifecycle bindings@1.1.0~install: no script for install, continuing\r\n    320 silly install gif@2.0.2 /path/to/project/node_modules/.staging/gif-b6973d4d\r\n    321 info lifecycle gif@2.0.2~install: gif@2.0.2\r\n    322 verbose lifecycle gif@2.0.2~install: unsafe-perm in lifecycle true\r\n    323 verbose lifecycle gif@2.0.2~install: PATH: /path/to/.nvm/v0.10.30/lib/node_modules/npm/bin/node-gyp-bin:/path/to/project/node_modules/gif/node_modules/.bin:/path/to/project/node_modules/.bin:/path/to/.nvm/v0.10.30/bin:/path/to/.rvm/gems/ruby-2.2.0/bin:/path/to/.rvm/gems/ruby-2.2.0@global/bin:/path/to/.rvm/rubies/ruby-2.2.0/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/path/to/.rvm/bin:/path/to/.local/bin:/path/to/bin\r\n    324 verbose lifecycle gif@2.0.2~install: CWD: /path/to/project/node_modules/gif\r\n    325 silly lifecycle gif@2.0.2~install: Args: [ '-c', 'node-gyp rebuild' ]\r\n    326 silly lifecycle gif@2.0.2~install: Returned: code: 1  signal: null\r\n    327 info lifecycle gif@2.0.2~install: Failed to exec install script\r\n    328 verbose unlock done using /path/to/.npm/_locks/staging-0caf11c157c6b6fe.lock for /path/to/project/node_modules/.staging\r\n    329 silly rollbackFailedOptional Starting\r\n    330 silly rollbackFailedOptional Finishing\r\n    331 silly runTopLevelLifecycles Starting\r\n    332 silly runTopLevelLifecycles Finishing\r\n    333 silly install printInstalled\r\n    334 warn email-template@1.0.0 No repository field.\r\n    335 verbose stack Error: gif@2.0.2 install: `node-gyp rebuild`\r\n    335 verbose stack Exit status 1\r\n    335 verbose stack     at EventEmitter.<anonymous> (/path/to/.nvm/v0.10.30/lib/node_modules/npm/lib/utils/lifecycle.js:232:16)\r\n    335 verbose stack     at EventEmitter.emit (events.js:98:17)\r\n    335 verbose stack     at ChildProcess.<anonymous> (/path/to/.nvm/v0.10.30/lib/node_modules/npm/lib/utils/spawn.js:24:14)\r\n    335 verbose stack     at ChildProcess.emit (events.js:98:17)\r\n    335 verbose stack     at maybeClose (child_process.js:756:16)\r\n    335 verbose stack     at Process.ChildProcess._handle.onexit (child_process.js:823:5)\r\n    336 verbose pkgid gif@2.0.2\r\n    337 verbose cwd /path/to/project\r\n    338 error Linux 2.6.32-042stab108.5\r\n    339 error argv \"node\" \"/path/to/.nvm/v0.10.30/bin/npm\" \"install\" \"--save\" \"gif\"\r\n    340 error node v0.10.30\r\n    341 error npm  v3.5.2\r\n    342 error code ELIFECYCLE\r\n    343 error gif@2.0.2 install: `node-gyp rebuild`\r\n    343 error Exit status 1\r\n    344 error Failed at the gif@2.0.2 install script 'node-gyp rebuild'.\r\n    344 error Make sure you have the latest version of node.js and npm installed.\r\n    344 error If you do, this is most likely a problem with the gif package,\r\n    344 error not with npm itself.\r\n    344 error Tell the author that this fails on your system:\r\n    344 error     node-gyp rebuild\r\n    344 error You can get information on how to open an issue for this project with:\r\n    344 error     npm bugs gif\r\n    344 error Or if that isn't available, you can get their info via:\r\n    344 error     npm owner ls gif\r\n    344 error There is likely additional logging output above.\r\n    345 verbose exit [ 1, true ]\r\n"},"comment":{"url":"https://api.github.com/repos/pkrumins/node-gif/issues/comments/228551251","html_url":"https://github.com/pkrumins/node-gif/issues/26#issuecomment-228551251","issue_url":"https://api.github.com/repos/pkrumins/node-gif/issues/26","id":228551251,"user":{"login":"le-doux","id":2354710,"avatar_url":"https://avatars.githubusercontent.com/u/2354710?v=3","gravatar_id":"","url":"https://api.github.com/users/le-doux","html_url":"https://github.com/le-doux","followers_url":"https://api.github.com/users/le-doux/followers","following_url":"https://api.github.com/users/le-doux/following{/other_user}","gists_url":"https://api.github.com/users/le-doux/gists{/gist_id}","starred_url":"https://api.github.com/users/le-doux/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/le-doux/subscriptions","organizations_url":"https://api.github.com/users/le-doux/orgs","repos_url":"https://api.github.com/users/le-doux/repos","events_url":"https://api.github.com/users/le-doux/events{/privacy}","received_events_url":"https://api.github.com/users/le-doux/received_events","type":"User","site_admin":false},"created_at":"2016-06-25T15:41:46Z","updated_at":"2016-06-25T15:41:46Z","body":"I've go the same issue. Did you find a solution? I'm on OSX.\r\n\r\n> 0 info it worked if it ends with ok\r\n1 verbose cli [ '/usr/local/bin/node', '/usr/local/bin/npm', 'install', 'gif' ]\r\n2 info using npm@3.10.3\r\n3 info using node@v5.4.1\r\n4 silly loadCurrentTree Starting\r\n5 silly install loadCurrentTree\r\n6 silly install readLocalPackageData\r\n7 silly fetchPackageMetaData gif@2.x.x\r\n8 silly fetchNamedPackageData gif\r\n9 silly mapToRegistry name gif\r\n10 silly mapToRegistry using default registry\r\n11 silly mapToRegistry registry https://registry.npmjs.org/\r\n12 silly mapToRegistry data Result {\r\n12 silly mapToRegistry   raw: 'gif',\r\n12 silly mapToRegistry   scope: null,\r\n12 silly mapToRegistry   escapedName: 'gif',\r\n12 silly mapToRegistry   name: 'gif',\r\n12 silly mapToRegistry   rawSpec: '',\r\n12 silly mapToRegistry   spec: 'latest',\r\n12 silly mapToRegistry   type: 'tag' }\r\n13 silly mapToRegistry uri https://registry.npmjs.org/gif\r\n14 verbose request uri https://registry.npmjs.org/gif\r\n15 verbose request no auth needed\r\n16 info attempt registry request try #1 at 8:39:34 AM\r\n17 verbose request id b06fbe31ec4e9d67\r\n18 verbose etag \"83KWD9B6UMIXS05S6HZVO8A53\"\r\n19 http request GET https://registry.npmjs.org/gif\r\n20 http 304 https://registry.npmjs.org/gif\r\n21 verbose headers { date: 'Sat, 25 Jun 2016 15:39:34 GMT',\r\n21 verbose headers   via: '1.1 varnish',\r\n21 verbose headers   'cache-control': 'max-age=300',\r\n21 verbose headers   etag: '\"83KWD9B6UMIXS05S6HZVO8A53\"',\r\n21 verbose headers   age: '163',\r\n21 verbose headers   connection: 'keep-alive',\r\n21 verbose headers   'x-served-by': 'cache-lax1431-LAX',\r\n21 verbose headers   'x-cache': 'HIT',\r\n21 verbose headers   'x-cache-hits': '1',\r\n21 verbose headers   'x-timer': 'S1466869174.418606,VS0,VE0',\r\n21 verbose headers   vary: 'Accept-Encoding' }\r\n22 silly get cb [ 304,\r\n22 silly get   { date: 'Sat, 25 Jun 2016 15:39:34 GMT',\r\n22 silly get     via: '1.1 varnish',\r\n22 silly get     'cache-control': 'max-age=300',\r\n22 silly get     etag: '\"83KWD9B6UMIXS05S6HZVO8A53\"',\r\n22 silly get     age: '163',\r\n22 silly get     connection: 'keep-alive',\r\n22 silly get     'x-served-by': 'cache-lax1431-LAX',\r\n22 silly get     'x-cache': 'HIT',\r\n22 silly get     'x-cache-hits': '1',\r\n22 silly get     'x-timer': 'S1466869174.418606,VS0,VE0',\r\n22 silly get     vary: 'Accept-Encoding' } ]\r\n23 verbose etag https://registry.npmjs.org/gif from cache\r\n24 verbose get saving gif to /Users/adamrossledoux/.npm/registry.npmjs.org/gif/.cache.json\r\n25 verbose correctMkdir /Users/adamrossledoux/.npm correctMkdir not in flight; initializing\r\n26 silly install normalizeTree\r\n27 silly loadCurrentTree Finishing\r\n28 silly loadIdealTree Starting\r\n29 silly install loadIdealTree\r\n30 silly cloneCurrentTree Starting\r\n31 silly install cloneCurrentTreeToIdealTree\r\n32 silly cloneCurrentTree Finishing\r\n33 silly loadShrinkwrap Starting\r\n34 silly install loadShrinkwrap\r\n35 silly loadShrinkwrap Finishing\r\n36 silly loadAllDepsIntoIdealTree Starting\r\n37 silly install loadAllDepsIntoIdealTree\r\n38 silly resolveWithNewModule gif@2.0.2 checking installable status\r\n39 silly cache add args [ 'gif@2.x.x', null ]\r\n40 verbose cache add spec gif@2.x.x\r\n41 silly cache add parsed spec Result {\r\n41 silly cache add   raw: 'gif@2.x.x',\r\n41 silly cache add   scope: null,\r\n41 silly cache add   escapedName: 'gif',\r\n41 silly cache add   name: 'gif',\r\n41 silly cache add   rawSpec: '2.x.x',\r\n41 silly cache add   spec: '>=2.0.0 <3.0.0',\r\n41 silly cache add   type: 'range' }\r\n42 silly addNamed gif@>=2.0.0 <3.0.0\r\n43 verbose addNamed \">=2.0.0 <3.0.0\" is a valid semver range for gif\r\n44 silly addNameRange { name: 'gif', range: '>=2.0.0 <3.0.0', hasData: false }\r\n45 silly mapToRegistry name gif\r\n46 silly mapToRegistry using default registry\r\n47 silly mapToRegistry registry https://registry.npmjs.org/\r\n48 silly mapToRegistry data Result {\r\n48 silly mapToRegistry   raw: 'gif',\r\n48 silly mapToRegistry   scope: null,\r\n48 silly mapToRegistry   escapedName: 'gif',\r\n48 silly mapToRegistry   name: 'gif',\r\n48 silly mapToRegistry   rawSpec: '',\r\n48 silly mapToRegistry   spec: 'latest',\r\n48 silly mapToRegistry   type: 'tag' }\r\n49 silly mapToRegistry uri https://registry.npmjs.org/gif\r\n50 verbose addNameRange registry:https://registry.npmjs.org/gif not in flight; fetching\r\n51 verbose get https://registry.npmjs.org/gif not expired, no request\r\n52 silly addNameRange number 2 { name: 'gif', range: '>=2.0.0 <3.0.0', hasData: true }\r\n53 silly addNameRange versions [ 'gif',\r\n53 silly addNameRange   [ '1.0.0', '1.0.1', '1.0.2', '1.0.3', '2.0.0', '2.0.1', '2.0.2' ] ]\r\n54 silly addNamed gif@2.0.2\r\n55 verbose addNamed \"2.0.2\" is a plain semver version for gif\r\n56 silly cache afterAdd gif@2.0.2\r\n57 verbose afterAdd /Users/adamrossledoux/.npm/gif/2.0.2/package/package.json not in flight; writing\r\n58 verbose correctMkdir /Users/adamrossledoux/.npm correctMkdir not in flight; initializing\r\n59 verbose afterAdd /Users/adamrossledoux/.npm/gif/2.0.2/package/package.json written\r\n60 silly fetchNamedPackageData bindings\r\n61 silly mapToRegistry name bindings\r\n62 silly mapToRegistry using default registry\r\n63 silly mapToRegistry registry https://registry.npmjs.org/\r\n64 silly mapToRegistry data Result {\r\n64 silly mapToRegistry   raw: 'bindings',\r\n64 silly mapToRegistry   scope: null,\r\n64 silly mapToRegistry   escapedName: 'bindings',\r\n64 silly mapToRegistry   name: 'bindings',\r\n64 silly mapToRegistry   rawSpec: '',\r\n64 silly mapToRegistry   spec: 'latest',\r\n64 silly mapToRegistry   type: 'tag' }\r\n65 silly mapToRegistry uri https://registry.npmjs.org/bindings\r\n66 verbose request uri https://registry.npmjs.org/bindings\r\n67 verbose request no auth needed\r\n68 info attempt registry request try #1 at 8:39:34 AM\r\n69 verbose etag \"33TX4J3DNTGF7K41ZUV6OA182\"\r\n70 http request GET https://registry.npmjs.org/bindings\r\n71 http 304 https://registry.npmjs.org/bindings\r\n72 verbose headers { date: 'Sat, 25 Jun 2016 15:39:34 GMT',\r\n72 verbose headers   via: '1.1 varnish',\r\n72 verbose headers   'cache-control': 'max-age=300',\r\n72 verbose headers   etag: '\"33TX4J3DNTGF7K41ZUV6OA182\"',\r\n72 verbose headers   age: '209',\r\n72 verbose headers   connection: 'keep-alive',\r\n72 verbose headers   'x-served-by': 'cache-lax1423-LAX',\r\n72 verbose headers   'x-cache': 'HIT',\r\n72 verbose headers   'x-cache-hits': '3',\r\n72 verbose headers   'x-timer': 'S1466869174.801718,VS0,VE0',\r\n72 verbose headers   vary: 'Accept-Encoding' }\r\n73 silly get cb [ 304,\r\n73 silly get   { date: 'Sat, 25 Jun 2016 15:39:34 GMT',\r\n73 silly get     via: '1.1 varnish',\r\n73 silly get     'cache-control': 'max-age=300',\r\n73 silly get     etag: '\"33TX4J3DNTGF7K41ZUV6OA182\"',\r\n73 silly get     age: '209',\r\n73 silly get     connection: 'keep-alive',\r\n73 silly get     'x-served-by': 'cache-lax1423-LAX',\r\n73 silly get     'x-cache': 'HIT',\r\n73 silly get     'x-cache-hits': '3',\r\n73 silly get     'x-timer': 'S1466869174.801718,VS0,VE0',\r\n73 silly get     vary: 'Accept-Encoding' } ]\r\n74 verbose etag https://registry.npmjs.org/bindings from cache\r\n75 verbose get saving bindings to /Users/adamrossledoux/.npm/registry.npmjs.org/bindings/.cache.json\r\n76 verbose correctMkdir /Users/adamrossledoux/.npm correctMkdir not in flight; initializing\r\n77 silly resolveWithNewModule bindings@1.1.0 checking installable status\r\n78 silly cache add args [ 'bindings@1.1.0', null ]\r\n79 verbose cache add spec bindings@1.1.0\r\n80 silly cache add parsed spec Result {\r\n80 silly cache add   raw: 'bindings@1.1.0',\r\n80 silly cache add   scope: null,\r\n80 silly cache add   escapedName: 'bindings',\r\n80 silly cache add   name: 'bindings',\r\n80 silly cache add   rawSpec: '1.1.0',\r\n80 silly cache add   spec: '1.1.0',\r\n80 silly cache add   type: 'version' }\r\n81 silly addNamed bindings@1.1.0\r\n82 verbose addNamed \"1.1.0\" is a plain semver version for bindings\r\n83 silly mapToRegistry name bindings\r\n84 silly mapToRegistry using default registry\r\n85 silly mapToRegistry registry https://registry.npmjs.org/\r\n86 silly mapToRegistry data Result {\r\n86 silly mapToRegistry   raw: 'bindings',\r\n86 silly mapToRegistry   scope: null,\r\n86 silly mapToRegistry   escapedName: 'bindings',\r\n86 silly mapToRegistry   name: 'bindings',\r\n86 silly mapToRegistry   rawSpec: '',\r\n86 silly mapToRegistry   spec: 'latest',\r\n86 silly mapToRegistry   type: 'tag' }\r\n87 silly mapToRegistry uri https://registry.npmjs.org/bindings\r\n88 verbose addNameVersion registry:https://registry.npmjs.org/bindings not in flight; fetching\r\n89 verbose get https://registry.npmjs.org/bindings not expired, no request\r\n90 silly cache afterAdd bindings@1.1.0\r\n91 verbose afterAdd /Users/adamrossledoux/.npm/bindings/1.1.0/package/package.json not in flight; writing\r\n92 verbose correctMkdir /Users/adamrossledoux/.npm correctMkdir not in flight; initializing\r\n93 verbose afterAdd /Users/adamrossledoux/.npm/bindings/1.1.0/package/package.json written\r\n94 silly loadAllDepsIntoIdealTree Finishing\r\n95 silly loadIdealTree Finishing\r\n96 silly currentTree tpc-dependencies@0.1.0\r\n96 silly currentTree ├── alphanumeric-sort@0.0.1\r\n96 silly currentTree ├── ansi-regex@2.0.0\r\n96 silly currentTree ├── ansi-styles@2.2.1\r\n96 silly currentTree ├── asn1@0.1.11\r\n96 silly currentTree ├── assert-plus@0.2.0\r\n96 silly currentTree ├── async@1.5.2\r\n96 silly currentTree ├── aws-sign2@0.6.0\r\n96 silly currentTree ├── aws4@1.4.1\r\n96 silly currentTree ├── bindings@1.2.1\r\n96 silly currentTree ├── bl@0.9.5\r\n96 silly currentTree ├── bluebird@3.4.1\r\n96 silly currentTree ├── boom@2.10.1\r\n96 silly currentTree ├── caseless@0.11.0\r\n96 silly currentTree ├── chalk@1.1.3\r\n96 silly currentTree ├── chess.js@0.9.4\r\n96 silly currentTree ├── chess@0.2.7\r\n96 silly currentTree ├── combined-stream@1.0.5\r\n96 silly currentTree ├── commander@2.9.0\r\n96 silly currentTree ├── core-util-is@1.0.2\r\n96 silly currentTree ├── cryptiles@2.0.5\r\n96 silly currentTree ├── crypto@0.0.3\r\n96 silly currentTree ├── ctype@0.5.3\r\n96 silly currentTree ├─┬ dashdash@1.14.0\r\n96 silly currentTree │ └── assert-plus@1.0.0\r\n96 silly currentTree ├── delayed-stream@1.0.0\r\n96 silly currentTree ├── ecc-jsbn@0.1.1\r\n96 silly currentTree ├── escape-string-regexp@1.0.5\r\n96 silly currentTree ├── extend@3.0.0\r\n96 silly currentTree ├── extsprintf@1.0.2\r\n96 silly currentTree ├── forever-agent@0.6.1\r\n96 silly currentTree ├── form-data@1.0.0-rc4\r\n96 silly currentTree ├── fs@0.0.2\r\n96 silly currentTree ├── generate-function@2.0.0\r\n96 silly currentTree ├── generate-object-property@1.2.0\r\n96 silly currentTree ├─┬ getpass@0.1.6\r\n96 silly currentTree │ └── assert-plus@1.0.0\r\n96 silly currentTree ├── gifencoder@1.0.6\r\n96 silly currentTree ├── graceful-readlink@1.0.1\r\n96 silly currentTree ├── har-validator\r\n96 silly currentTree ├── has-ansi@2.0.0\r\n96 silly currentTree ├── hawk@3.1.3\r\n96 silly currentTree ├── hoek@2.16.3\r\n96 silly currentTree ├─┬ http-signature@0.11.0\r\n96 silly currentTree │ └── assert-plus@0.1.5\r\n96 silly currentTree ├── https@1.0.0\r\n96 silly currentTree ├── inherits@2.0.1\r\n96 silly currentTree ├── is-my-json-valid@2.13.1\r\n96 silly currentTree ├── is-property@1.0.2\r\n96 silly currentTree ├── is-typedarray@1.0.0\r\n96 silly currentTree ├── isarray@1.0.0\r\n96 silly currentTree ├── isstream@0.1.2\r\n96 silly currentTree ├── jodid25519@1.0.2\r\n96 silly currentTree ├── jsbn@0.1.0\r\n96 silly currentTree ├── json-schema@0.2.2\r\n96 silly currentTree ├── json-stringify-safe@5.0.1\r\n96 silly currentTree ├── jsonpointer@2.0.0\r\n96 silly currentTree ├── jsprim@1.3.0\r\n96 silly currentTree ├── mime-db@1.23.0\r\n96 silly currentTree ├── mime-types@2.1.11\r\n96 silly currentTree ├── mime@1.3.4\r\n96 silly currentTree ├── nan@2.3.5\r\n96 silly currentTree ├── node-uuid@1.4.7\r\n96 silly currentTree ├── oauth-sign@0.8.2\r\n96 silly currentTree ├── penner@0.1.3\r\n96 silly currentTree ├── pinkie-promise@2.0.1\r\n96 silly currentTree ├── pinkie@2.0.4\r\n96 silly currentTree ├── pngparse@2.0.1\r\n96 silly currentTree ├── process-nextick-args@1.0.7\r\n96 silly currentTree ├── qs@6.1.0\r\n96 silly currentTree ├── querystring@0.2.0\r\n96 silly currentTree ├─┬ readable-stream@1.0.34\r\n96 silly currentTree │ └── isarray@0.0.1\r\n96 silly currentTree ├─┬ request@2.67.0\r\n96 silly currentTree │ ├── asn1@0.2.3\r\n96 silly currentTree │ ├── bl@1.0.3\r\n96 silly currentTree │ ├── har-validator@2.0.6\r\n96 silly currentTree │ ├── http-signature@1.1.1\r\n96 silly currentTree │ ├── qs@5.2.0\r\n96 silly currentTree │ ├── readable-stream@2.0.6\r\n96 silly currentTree │ └─┬ sshpk@1.8.3\r\n96 silly currentTree │   └── assert-plus@1.0.0\r\n96 silly currentTree ├─┬ require@2.4.20\r\n96 silly currentTree │ ├── std@0.1.40\r\n96 silly currentTree │ └─┬ uglify-js@2.3.0\r\n96 silly currentTree │   ├── async@0.2.10\r\n96 silly currentTree │   ├─┬ optimist@0.3.7\r\n96 silly currentTree │   │ └── wordwrap@0.0.3\r\n96 silly currentTree │   └─┬ source-map@0.1.43\r\n96 silly currentTree │     └── amdefine@1.0.0\r\n96 silly currentTree ├── sntp@1.0.9\r\n96 silly currentTree ├── string_decoder@0.10.31\r\n96 silly currentTree ├── stringstream@0.0.5\r\n96 silly currentTree ├── strip-ansi@3.0.1\r\n96 silly currentTree ├── supports-color@2.0.0\r\n96 silly currentTree ├── three-software-renderer@1.1.0\r\n96 silly currentTree ├── three@0.78.0\r\n96 silly currentTree ├── tough-cookie@2.2.2\r\n96 silly currentTree ├── tunnel-agent@0.4.3\r\n96 silly currentTree ├── tweetnacl@0.13.3\r\n96 silly currentTree ├─┬ twit@2.2.4\r\n96 silly currentTree │ ├── aws-sign2@0.5.0\r\n96 silly currentTree │ ├── caseless@0.10.0\r\n96 silly currentTree │ ├── extend@2.0.1\r\n96 silly currentTree │ ├─┬ har-validator@1.8.0\r\n96 silly currentTree │ │ └── bluebird@2.10.2\r\n96 silly currentTree │ ├── hawk@2.3.1\r\n96 silly currentTree │ ├── mime-db@1.12.0\r\n96 silly currentTree │ ├── mime-types@2.0.14\r\n96 silly currentTree │ ├── qs@3.1.0\r\n96 silly currentTree │ └── request@2.58.0\r\n96 silly currentTree ├── unix-timestamp@0.2.0\r\n96 silly currentTree ├─┬ url@0.11.0\r\n96 silly currentTree │ └── punycode@1.3.2\r\n96 silly currentTree ├── utf8@2.1.1\r\n96 silly currentTree ├── util-deprecate@1.0.2\r\n96 silly currentTree ├── verror@1.3.6\r\n96 silly currentTree ├── webworker-threads@0.7.5\r\n96 silly currentTree ├── webworker@0.8.4\r\n96 silly currentTree └── xtend@4.0.1\r\n97 silly idealTree tpc-dependencies@0.1.0\r\n97 silly idealTree ├── alphanumeric-sort@0.0.1\r\n97 silly idealTree ├── ansi-regex@2.0.0\r\n97 silly idealTree ├── ansi-styles@2.2.1\r\n97 silly idealTree ├── asn1@0.1.11\r\n97 silly idealTree ├── assert-plus@0.2.0\r\n97 silly idealTree ├── async@1.5.2\r\n97 silly idealTree ├── aws-sign2@0.6.0\r\n97 silly idealTree ├── aws4@1.4.1\r\n97 silly idealTree ├── bindings@1.2.1\r\n97 silly idealTree ├── bl@0.9.5\r\n97 silly idealTree ├── bluebird@3.4.1\r\n97 silly idealTree ├── boom@2.10.1\r\n97 silly idealTree ├── caseless@0.11.0\r\n97 silly idealTree ├── chalk@1.1.3\r\n97 silly idealTree ├── chess.js@0.9.4\r\n97 silly idealTree ├── chess@0.2.7\r\n97 silly idealTree ├── combined-stream@1.0.5\r\n97 silly idealTree ├── commander@2.9.0\r\n97 silly idealTree ├── core-util-is@1.0.2\r\n97 silly idealTree ├── cryptiles@2.0.5\r\n97 silly idealTree ├── crypto@0.0.3\r\n97 silly idealTree ├── ctype@0.5.3\r\n97 silly idealTree ├─┬ dashdash@1.14.0\r\n97 silly idealTree │ └── assert-plus@1.0.0\r\n97 silly idealTree ├── delayed-stream@1.0.0\r\n97 silly idealTree ├── ecc-jsbn@0.1.1\r\n97 silly idealTree ├── escape-string-regexp@1.0.5\r\n97 silly idealTree ├── extend@3.0.0\r\n97 silly idealTree ├── extsprintf@1.0.2\r\n97 silly idealTree ├── forever-agent@0.6.1\r\n97 silly idealTree ├── form-data@1.0.0-rc4\r\n97 silly idealTree ├── fs@0.0.2\r\n97 silly idealTree ├── generate-function@2.0.0\r\n97 silly idealTree ├── generate-object-property@1.2.0\r\n97 silly idealTree ├─┬ getpass@0.1.6\r\n97 silly idealTree │ └── assert-plus@1.0.0\r\n97 silly idealTree ├─┬ gif@2.0.2\r\n97 silly idealTree │ └── bindings@1.1.0\r\n97 silly idealTree ├── gifencoder@1.0.6\r\n97 silly idealTree ├── graceful-readlink@1.0.1\r\n97 silly idealTree ├── har-validator\r\n97 silly idealTree ├── has-ansi@2.0.0\r\n97 silly idealTree ├── hawk@3.1.3\r\n97 silly idealTree ├── hoek@2.16.3\r\n97 silly idealTree ├─┬ http-signature@0.11.0\r\n97 silly idealTree │ └── assert-plus@0.1.5\r\n97 silly idealTree ├── https@1.0.0\r\n97 silly idealTree ├── inherits@2.0.1\r\n97 silly idealTree ├── is-my-json-valid@2.13.1\r\n97 silly idealTree ├── is-property@1.0.2\r\n97 silly idealTree ├── is-typedarray@1.0.0\r\n97 silly idealTree ├── isarray@1.0.0\r\n97 silly idealTree ├── isstream@0.1.2\r\n97 silly idealTree ├── jodid25519@1.0.2\r\n97 silly idealTree ├── jsbn@0.1.0\r\n97 silly idealTree ├── json-schema@0.2.2\r\n97 silly idealTree ├── json-stringify-safe@5.0.1\r\n97 silly idealTree ├── jsonpointer@2.0.0\r\n97 silly idealTree ├── jsprim@1.3.0\r\n97 silly idealTree ├── mime-db@1.23.0\r\n97 silly idealTree ├── mime-types@2.1.11\r\n97 silly idealTree ├── mime@1.3.4\r\n97 silly idealTree ├── nan@2.3.5\r\n97 silly idealTree ├── node-uuid@1.4.7\r\n97 silly idealTree ├── oauth-sign@0.8.2\r\n97 silly idealTree ├── penner@0.1.3\r\n97 silly idealTree ├── pinkie-promise@2.0.1\r\n97 silly idealTree ├── pinkie@2.0.4\r\n97 silly idealTree ├── pngparse@2.0.1\r\n97 silly idealTree ├── process-nextick-args@1.0.7\r\n97 silly idealTree ├── qs@6.1.0\r\n97 silly idealTree ├── querystring@0.2.0\r\n97 silly idealTree ├─┬ readable-stream@1.0.34\r\n97 silly idealTree │ └── isarray@0.0.1\r\n97 silly idealTree ├─┬ request@2.67.0\r\n97 silly idealTree │ ├── asn1@0.2.3\r\n97 silly idealTree │ ├── bl@1.0.3\r\n97 silly idealTree │ ├── har-validator@2.0.6\r\n97 silly idealTree │ ├── http-signature@1.1.1\r\n97 silly idealTree │ ├── qs@5.2.0\r\n97 silly idealTree │ ├── readable-stream@2.0.6\r\n97 silly idealTree │ └─┬ sshpk@1.8.3\r\n97 silly idealTree │   └── assert-plus@1.0.0\r\n97 silly idealTree ├─┬ require@2.4.20\r\n97 silly idealTree │ ├── std@0.1.40\r\n97 silly idealTree │ └─┬ uglify-js@2.3.0\r\n97 silly idealTree │   ├── async@0.2.10\r\n97 silly idealTree │   ├─┬ optimist@0.3.7\r\n97 silly idealTree │   │ └── wordwrap@0.0.3\r\n97 silly idealTree │   └─┬ source-map@0.1.43\r\n97 silly idealTree │     └── amdefine@1.0.0\r\n97 silly idealTree ├── sntp@1.0.9\r\n97 silly idealTree ├── string_decoder@0.10.31\r\n97 silly idealTree ├── stringstream@0.0.5\r\n97 silly idealTree ├── strip-ansi@3.0.1\r\n97 silly idealTree ├── supports-color@2.0.0\r\n97 silly idealTree ├── three-software-renderer@1.1.0\r\n97 silly idealTree ├── three@0.78.0\r\n97 silly idealTree ├── tough-cookie@2.2.2\r\n97 silly idealTree ├── tunnel-agent@0.4.3\r\n97 silly idealTree ├── tweetnacl@0.13.3\r\n97 silly idealTree ├─┬ twit@2.2.4\r\n97 silly idealTree │ ├── aws-sign2@0.5.0\r\n97 silly idealTree │ ├── caseless@0.10.0\r\n97 silly idealTree │ ├── extend@2.0.1\r\n97 silly idealTree │ ├─┬ har-validator@1.8.0\r\n97 silly idealTree │ │ └── bluebird@2.10.2\r\n97 silly idealTree │ ├── hawk@2.3.1\r\n97 silly idealTree │ ├── mime-db@1.12.0\r\n97 silly idealTree │ ├── mime-types@2.0.14\r\n97 silly idealTree │ ├── qs@3.1.0\r\n97 silly idealTree │ └── request@2.58.0\r\n97 silly idealTree ├── unix-timestamp@0.2.0\r\n97 silly idealTree ├─┬ url@0.11.0\r\n97 silly idealTree │ └── punycode@1.3.2\r\n97 silly idealTree ├── utf8@2.1.1\r\n97 silly idealTree ├── util-deprecate@1.0.2\r\n97 silly idealTree ├── verror@1.3.6\r\n97 silly idealTree ├── webworker-threads@0.7.5\r\n97 silly idealTree ├── webworker@0.8.4\r\n97 silly idealTree └── xtend@4.0.1\r\n98 silly generateActionsToTake Starting\r\n99 silly install generateActionsToTake\r\n100 silly generateActionsToTake Finishing\r\n101 silly diffTrees action count 2\r\n102 silly diffTrees add bindings@1.1.0\r\n103 silly diffTrees add gif@2.0.2\r\n104 silly decomposeActions action count 16\r\n105 silly decomposeActions fetch bindings@1.1.0\r\n106 silly decomposeActions extract bindings@1.1.0\r\n107 silly decomposeActions test bindings@1.1.0\r\n108 silly decomposeActions preinstall bindings@1.1.0\r\n109 silly decomposeActions build bindings@1.1.0\r\n110 silly decomposeActions install bindings@1.1.0\r\n111 silly decomposeActions postinstall bindings@1.1.0\r\n112 silly decomposeActions finalize bindings@1.1.0\r\n113 silly decomposeActions fetch gif@2.0.2\r\n114 silly decomposeActions extract gif@2.0.2\r\n115 silly decomposeActions test gif@2.0.2\r\n116 silly decomposeActions preinstall gif@2.0.2\r\n117 silly decomposeActions build gif@2.0.2\r\n118 silly decomposeActions install gif@2.0.2\r\n119 silly decomposeActions postinstall gif@2.0.2\r\n120 silly decomposeActions finalize gif@2.0.2\r\n121 silly executeActions Starting\r\n122 silly install executeActions\r\n123 silly doSerial global-install 0\r\n124 silly doParallel fetch 2\r\n125 verbose correctMkdir /Users/adamrossledoux/.npm/_locks correctMkdir not in flight; initializing\r\n126 verbose lock using /Users/adamrossledoux/.npm/_locks/staging-dd13d7a68eb1b6d8.lock for /Users/adamrossledoux/Code/Web/TPChess/TestServer/node_modules/.staging\r\n127 silly doParallel extract 2\r\n128 silly extract bindings@1.1.0\r\n129 silly extract gif@2.0.2\r\n130 verbose unbuild node_modules/.staging/bindings-c0c3b7aa\r\n131 verbose unbuild node_modules/.staging/gif-997f1a82\r\n132 silly gentlyRm /Users/adamrossledoux/Code/Web/TPChess/TestServer/node_modules/.staging/bindings-c0c3b7aa is being purged from base /Users/adamrossledoux/Code/Web/TPChess/TestServer\r\n133 verbose gentlyRm don't care about contents; nuking /Users/adamrossledoux/Code/Web/TPChess/TestServer/node_modules/.staging/bindings-c0c3b7aa\r\n134 silly gentlyRm /Users/adamrossledoux/Code/Web/TPChess/TestServer/node_modules/.staging/gif-997f1a82 is being purged from base /Users/adamrossledoux/Code/Web/TPChess/TestServer\r\n135 verbose gentlyRm don't care about contents; nuking /Users/adamrossledoux/Code/Web/TPChess/TestServer/node_modules/.staging/gif-997f1a82\r\n136 verbose tar unpack /Users/adamrossledoux/.npm/bindings/1.1.0/package.tgz\r\n137 verbose tar unpacking to /Users/adamrossledoux/Code/Web/TPChess/TestServer/node_modules/.staging/bindings-c0c3b7aa\r\n138 silly gentlyRm /Users/adamrossledoux/Code/Web/TPChess/TestServer/node_modules/.staging/bindings-c0c3b7aa is being purged\r\n139 verbose gentlyRm don't care about contents; nuking /Users/adamrossledoux/Code/Web/TPChess/TestServer/node_modules/.staging/bindings-c0c3b7aa\r\n140 verbose tar unpack /Users/adamrossledoux/.npm/gif/2.0.2/package.tgz\r\n141 verbose tar unpacking to /Users/adamrossledoux/Code/Web/TPChess/TestServer/node_modules/.staging/gif-997f1a82\r\n142 silly gentlyRm /Users/adamrossledoux/Code/Web/TPChess/TestServer/node_modules/.staging/gif-997f1a82 is being purged\r\n143 verbose gentlyRm don't care about contents; nuking /Users/adamrossledoux/Code/Web/TPChess/TestServer/node_modules/.staging/gif-997f1a82\r\n144 silly gunzTarPerm modes [ '755', '644' ]\r\n145 silly gunzTarPerm modes [ '755', '644' ]\r\n146 silly gunzTarPerm extractEntry package.json\r\n147 silly gunzTarPerm extractEntry package.json\r\n148 silly gunzTarPerm extractEntry README.md\r\n149 silly gunzTarPerm extractEntry bindings.js\r\n150 silly gunzTarPerm extractEntry .npmignore\r\n151 silly gunzTarPerm extractEntry README.md\r\n152 silly gunzTarPerm extractEntry index.js\r\n153 silly gunzTarPerm extractEntry tests/dynamic-gif-stack.js\r\n154 silly gunzTarPerm extractEntry tests/gif-async.js\r\n155 silly gunzTarPerm extractEntry tests/dynamic-gif-stack-async.js\r\n156 silly gunzTarPerm extractEntry tests/gif.js\r\n157 silly gunzTarPerm extractEntry tests/push-data/05-rgba-96-397-32-2.dat\r\n158 silly gunzTarPerm extractEntry tests/push-data/10-rgba-112-397-32-2.dat\r\n159 silly gunzTarPerm extractEntry tests/push-data/19-rgba-160-397-32-2.dat\r\n160 silly gunzTarPerm extractEntry tests/push-data/20-rgba-176-386-16-10.dat\r\n161 silly gunzTarPerm extractEntry tests/push-data/04-rgba-96-386-16-10.dat\r\n162 silly gunzTarPerm extractEntry tests/push-data/16-rgba-144-397-32-2.dat\r\n163 silly gentlyRm /Users/adamrossledoux/Code/Web/TPChess/TestServer/node_modules/.staging/bindings-c0c3b7aa/node_modules is being purged\r\n164 verbose gentlyRm don't care about contents; nuking /Users/adamrossledoux/Code/Web/TPChess/TestServer/node_modules/.staging/bindings-c0c3b7aa/node_modules\r\n165 silly gunzTarPerm extractEntry tests/push-data/12-rgba-128-397-32-2.dat\r\n166 silly gunzTarPerm extractEntry tests/push-data/07-rgba-112-386-16-10.dat\r\n167 silly gunzTarPerm extractEntry tests/push-data/02-rgba-96-390-16-5.dat\r\n168 silly gunzTarPerm extractEntry tests/push-data/09-rgba-112-389-32-7.dat\r\n169 silly gunzTarPerm extractEntry tests/push-data/17-rgba-160-393-16-6.dat\r\n170 silly gunzTarPerm extractEntry tests/push-data/14-rgba-144-397-32-2.dat\r\n171 silly gunzTarPerm extractEntry tests/push-data/11-rgba-128-386-16-10.dat\r\n172 silly gunzTarPerm extractEntry tests/push-data/06-rgba-96-397-32-2.dat\r\n173 silly gunzTarPerm extractEntry tests/push-data/08-rgba-112-397-32-2.dat\r\n174 silly gunzTarPerm extractEntry tests/push-data/13-rgba-144-386-16-10.dat\r\n175 silly gunzTarPerm extractEntry tests/push-data/01-rgba-80-389-16-7.dat\r\n176 silly gunzTarPerm extractEntry tests/push-data/15-rgba-144-389-16-7.dat\r\n177 silly gunzTarPerm extractEntry tests/push-data/18-rgba-176-397-16-2.dat\r\n178 silly gunzTarPerm extractEntry tests/push-data/03-rgba-80-397-32-2.dat\r\n179 silly gunzTarPerm extractEntry tests/animated-gif/animated-gif-file-writer.js\r\n180 silly gunzTarPerm extractEntry tests/animated-gif/animated-gif-async.js\r\n181 silly gunzTarPerm extractEntry tests/animated-gif/animated-gif.js\r\n182 silly gunzTarPerm extractEntry tests/animated-gif/frames.tgz\r\n183 silly gunzTarPerm extractEntry discovery/rgb2gif_mem.c\r\n184 silly gunzTarPerm extractEntry discovery/rgb2gif.c\r\n185 silly gunzTarPerm extractEntry discovery/terminal.tar.bz2\r\n186 silly gunzTarPerm extractEntry deps/giflib/gif_lib_private.h\r\n187 silly gunzTarPerm extractEntry deps/giflib/gif_hash.h\r\n188 silly gunzTarPerm extractEntry deps/giflib/egif_lib.c\r\n189 silly gunzTarPerm extractEntry deps/giflib/gif_hash.c\r\n190 silly gunzTarPerm extractEntry deps/giflib/gif_font.c\r\n191 silly gunzTarPerm extractEntry deps/giflib/gifalloc.c\r\n192 silly gunzTarPerm extractEntry deps/giflib/gif_err.c\r\n193 silly gunzTarPerm extractEntry deps/giflib/giflib.gyp\r\n194 silly gunzTarPerm extractEntry deps/giflib/quantize.c\r\n195 silly gunzTarPerm extractEntry deps/giflib/dgif_lib.c\r\n196 silly gunzTarPerm extractEntry deps/giflib/gif_lib.h\r\n197 silly gunzTarPerm extractEntry src/gif.cpp\r\n198 silly gunzTarPerm extractEntry src/animated_gif.cpp~\r\n199 silly gunzTarPerm extractEntry src/palette.cpp\r\n200 silly gunzTarPerm extractEntry src/async_animated_gif.cpp\r\n201 silly gunzTarPerm extractEntry src/dynamic_gif_stack.cpp\r\n202 silly gunzTarPerm extractEntry src/gif_encoder.h\r\n203 silly gunzTarPerm extractEntry src/quantize.cpp\r\n204 silly gunzTarPerm extractEntry src/buffer_compat.cpp\r\n205 silly gunzTarPerm extractEntry src/utils.cpp\r\n206 silly gunzTarPerm extractEntry src/dynamic_gif_stack.h\r\n207 silly gunzTarPerm extractEntry src/common.h\r\n208 silly gunzTarPerm extractEntry src/animated_gif.h\r\n209 silly gunzTarPerm extractEntry src/utils.h\r\n210 silly gunzTarPerm extractEntry src/quantize.h\r\n211 silly gunzTarPerm extractEntry src/buffer_compat.h\r\n212 silly gunzTarPerm extractEntry src/common.cpp\r\n213 silly gunzTarPerm extractEntry src/animated_gif.cpp\r\n214 silly gunzTarPerm extractEntry src/gif.h\r\n215 silly gunzTarPerm extractEntry src/module.cpp\r\n216 silly gunzTarPerm extractEntry src/palette.h\r\n217 silly gunzTarPerm extractEntry src/gif_encoder.cpp\r\n218 silly gunzTarPerm extractEntry src/loki/ScopeGuard.h\r\n219 silly gunzTarPerm extractEntry src/loki/RefToValue.h\r\n220 silly gunzTarPerm extractEntry src/async_animated_gif.h\r\n221 silly gunzTarPerm extractEntry package.json~\r\n222 silly gunzTarPerm extractEntry binding.gyp\r\n223 silly gentlyRm /Users/adamrossledoux/Code/Web/TPChess/TestServer/node_modules/.staging/gif-997f1a82/node_modules is being purged\r\n224 verbose gentlyRm don't care about contents; nuking /Users/adamrossledoux/Code/Web/TPChess/TestServer/node_modules/.staging/gif-997f1a82/node_modules\r\n225 silly doParallel preinstall 2\r\n226 silly preinstall bindings@1.1.0 /Users/adamrossledoux/Code/Web/TPChess/TestServer/node_modules/.staging/bindings-c0c3b7aa\r\n227 info lifecycle bindings@1.1.0~preinstall: bindings@1.1.0\r\n228 silly preinstall gif@2.0.2 /Users/adamrossledoux/Code/Web/TPChess/TestServer/node_modules/.staging/gif-997f1a82\r\n229 info lifecycle gif@2.0.2~preinstall: gif@2.0.2\r\n230 silly lifecycle bindings@1.1.0~preinstall: no script for preinstall, continuing\r\n231 silly lifecycle gif@2.0.2~preinstall: no script for preinstall, continuing\r\n232 silly doReverseSerial remove 0\r\n233 silly doSerial move 0\r\n234 silly doSerial finalize 2\r\n235 silly finalize /Users/adamrossledoux/Code/Web/TPChess/TestServer/node_modules/gif/node_modules/bindings\r\n236 silly finalize /Users/adamrossledoux/Code/Web/TPChess/TestServer/node_modules/gif\r\n237 silly doSerial build 2\r\n238 silly build bindings@1.1.0\r\n239 info linkStuff bindings@1.1.0\r\n240 silly linkStuff bindings@1.1.0 has /Users/adamrossledoux/Code/Web/TPChess/TestServer/node_modules/gif/node_modules as its parent node_modules\r\n241 verbose linkBins bindings@1.1.0\r\n242 verbose linkMans bindings@1.1.0\r\n243 silly build gif@2.0.2\r\n244 info linkStuff gif@2.0.2\r\n245 silly linkStuff gif@2.0.2 has /Users/adamrossledoux/Code/Web/TPChess/TestServer/node_modules as its parent node_modules\r\n246 verbose linkBins gif@2.0.2\r\n247 verbose linkMans gif@2.0.2\r\n248 silly doSerial global-link 0\r\n249 silly doParallel update-linked 0\r\n250 silly doSerial install 2\r\n251 silly install bindings@1.1.0 /Users/adamrossledoux/Code/Web/TPChess/TestServer/node_modules/.staging/bindings-c0c3b7aa\r\n252 info lifecycle bindings@1.1.0~install: bindings@1.1.0\r\n253 silly lifecycle bindings@1.1.0~install: no script for install, continuing\r\n254 silly install gif@2.0.2 /Users/adamrossledoux/Code/Web/TPChess/TestServer/node_modules/.staging/gif-997f1a82\r\n255 info lifecycle gif@2.0.2~install: gif@2.0.2\r\n256 verbose lifecycle gif@2.0.2~install: unsafe-perm in lifecycle true\r\n257 verbose lifecycle gif@2.0.2~install: PATH: /usr/local/lib/node_modules/npm/bin/node-gyp-bin:/Users/adamrossledoux/Code/Web/TPChess/TestServer/node_modules/gif/node_modules/.bin:/Users/adamrossledoux/Code/Web/TPChess/TestServer/node_modules/.bin:/usr/local/bin:/opt/local/bin:/opt/local/sbin:/usr/local/heroku/bin:/usr/local/bin:/usr/local/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin\r\n258 verbose lifecycle gif@2.0.2~install: CWD: /Users/adamrossledoux/Code/Web/TPChess/TestServer/node_modules/gif\r\n259 silly lifecycle gif@2.0.2~install: Args: [ '-c', 'node-gyp rebuild' ]\r\n260 silly lifecycle gif@2.0.2~install: Returned: code: 1  signal: null\r\n261 info lifecycle gif@2.0.2~install: Failed to exec install script\r\n262 verbose unlock done using /Users/adamrossledoux/.npm/_locks/staging-dd13d7a68eb1b6d8.lock for /Users/adamrossledoux/Code/Web/TPChess/TestServer/node_modules/.staging\r\n263 silly rollbackFailedOptional Starting\r\n264 silly rollbackFailedOptional Finishing\r\n265 silly runTopLevelLifecycles Starting\r\n266 silly runTopLevelLifecycles Finishing\r\n267 silly install printInstalled\r\n268 warn enoent ENOENT: no such file or directory, open '/Users/adamrossledoux/Code/Web/TPChess/TestServer/node_modules/har-validator/package.json'\r\n269 warn tpc-dependencies@0.1.0 No repository field.\r\n270 warn tpc-dependencies@0.1.0 No license field.\r\n271 verbose stack Error: gif@2.0.2 install: `node-gyp rebuild`\r\n271 verbose stack Exit status 1\r\n271 verbose stack     at EventEmitter.<anonymous> (/usr/local/lib/node_modules/npm/lib/utils/lifecycle.js:242:16)\r\n271 verbose stack     at emitTwo (events.js:87:13)\r\n271 verbose stack     at EventEmitter.emit (events.js:172:7)\r\n271 verbose stack     at ChildProcess.<anonymous> (/usr/local/lib/node_modules/npm/lib/utils/spawn.js:40:14)\r\n271 verbose stack     at emitTwo (events.js:87:13)\r\n271 verbose stack     at ChildProcess.emit (events.js:172:7)\r\n271 verbose stack     at maybeClose (internal/child_process.js:821:16)\r\n271 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:211:5)\r\n272 verbose pkgid gif@2.0.2\r\n273 verbose cwd /Users/adamrossledoux/Code/Web/TPChess/TestServer\r\n274 error Darwin 14.5.0\r\n275 error argv \"/usr/local/bin/node\" \"/usr/local/bin/npm\" \"install\" \"gif\"\r\n276 error node v5.4.1\r\n277 error npm  v3.10.3\r\n278 error code ELIFECYCLE\r\n279 error gif@2.0.2 install: `node-gyp rebuild`\r\n279 error Exit status 1\r\n280 error Failed at the gif@2.0.2 install script 'node-gyp rebuild'.\r\n280 error Make sure you have the latest version of node.js and npm installed.\r\n280 error If you do, this is most likely a problem with the gif package,\r\n280 error not with npm itself.\r\n280 error Tell the author that this fails on your system:\r\n280 error     node-gyp rebuild\r\n280 error You can get information on how to open an issue for this project with:\r\n280 error     npm bugs gif\r\n280 error Or if that isn't available, you can get their info via:\r\n280 error     npm owner ls gif\r\n280 error There is likely additional logging output above.\r\n281 verbose exit [ 1, true ]\r\n\r\n\r\n"}}
{"actor":{"display_login":"le-doux"}}