kelektiv / node.bcrypt.js

bcrypt for NodeJs
MIT License
7.44k stars 511 forks source link

Segmentation Fault on Node alpine #528

Closed georgecrawford closed 6 years ago

georgecrawford commented 7 years ago

Forgive me if I've missed something obvious, but I have a reproducible segmentation fault using the latest Docker alpine image for Node:

docker run -it node:8.1.3-alpine /bin/sh -c 'apk --no-cache add --virtual builds-deps build-base python && npm i bcrypt && node -e '"'"'require("bcrypt").genSalt(10)'"'"

Output:

Click to expand ```bash docker run -it node:8.1.3-alpine /bin/sh -c 'apk --no-cache add --virtual builds-deps build-base python && npm i bcrypt && node -e '"'"'require("bcrypt").genSalt(10)'"'" fetch http://dl-cdn.alpinelinux.org/alpine/v3.6/main/x86_64/APKINDEX.tar.gz fetch http://dl-cdn.alpinelinux.org/alpine/v3.6/community/x86_64/APKINDEX.tar.gz (1/27) Installing binutils-libs (2.28-r2) (2/27) Installing binutils (2.28-r2) (3/27) Installing gmp (6.1.2-r0) (4/27) Installing isl (0.17.1-r0) (5/27) Installing libgomp (6.3.0-r4) (6/27) Installing libatomic (6.3.0-r4) (7/27) Installing pkgconf (1.3.7-r0) (8/27) Installing mpfr3 (3.1.5-r0) (9/27) Installing mpc1 (1.0.3-r0) (10/27) Installing gcc (6.3.0-r4) (11/27) Installing musl-dev (1.1.16-r13) (12/27) Installing libc-dev (0.7.1-r0) (13/27) Installing g++ (6.3.0-r4) (14/27) Installing make (4.2.1-r0) (15/27) Installing fortify-headers (0.8-r0) (16/27) Installing build-base (0.5-r0) (17/27) Installing libbz2 (1.0.6-r5) (18/27) Installing expat (2.2.0-r1) (19/27) Installing libffi (3.2.1-r3) (20/27) Installing gdbm (1.12-r0) (21/27) Installing ncurses-terminfo-base (6.0-r7) (22/27) Installing ncurses-terminfo (6.0-r7) (23/27) Installing ncurses-libs (6.0-r7) (24/27) Installing readline (6.3.008-r5) (25/27) Installing sqlite-libs (3.18.0-r0) (26/27) Installing python2 (2.7.13-r1) (27/27) Installing builds-deps (0) Executing busybox-1.26.2-r5.trigger OK: 206 MiB in 40 packages npm info it worked if it ends with ok npm info using npm@5.0.3 npm info using node@v8.1.3 npm http fetch GET 200 https://registry.npmjs.org/bcrypt 266ms npm http fetch GET 200 https://registry.npmjs.org/bindings 39ms npm http fetch GET 200 https://registry.npmjs.org/node-pre-gyp 77ms npm http fetch GET 200 https://registry.npmjs.org/nan 83ms npm http fetch GET 200 https://registry.npmjs.org/mkdirp 47ms npm http fetch GET 200 https://registry.npmjs.org/nopt 92ms npm http fetch GET 200 https://registry.npmjs.org/npmlog 104ms npm http fetch GET 200 https://registry.npmjs.org/semver 103ms npm http fetch GET 200 https://registry.npmjs.org/tar 111ms npm http fetch GET 200 https://registry.npmjs.org/tar-pack 124ms npm http fetch GET 200 https://registry.npmjs.org/rimraf 154ms npm http fetch GET 200 https://registry.npmjs.org/rc 159ms npm http fetch GET 200 https://registry.npmjs.org/request 164ms npm http fetch GET 200 https://registry.npmjs.org/minimist 616ms npm http fetch GET 200 https://registry.npmjs.org/abbrev 23ms npm http fetch GET 200 https://registry.npmjs.org/set-blocking 34ms npm http fetch GET 200 https://registry.npmjs.org/are-we-there-yet 36ms npm http fetch GET 200 https://registry.npmjs.org/console-control-strings 37ms npm http fetch GET 200 https://registry.npmjs.org/gauge 37ms npm http fetch GET 200 https://registry.npmjs.org/delegates 22ms npm http fetch GET 200 https://registry.npmjs.org/readable-stream 30ms npm http fetch GET 200 https://registry.npmjs.org/core-util-is 46ms npm http fetch GET 200 https://registry.npmjs.org/isarray 47ms npm http fetch GET 200 https://registry.npmjs.org/util-deprecate 47ms npm http fetch GET 200 https://registry.npmjs.org/safe-buffer 47ms npm http fetch GET 200 https://registry.npmjs.org/process-nextick-args 49ms npm http fetch GET 200 https://registry.npmjs.org/inherits 51ms npm http fetch GET 200 https://registry.npmjs.org/string_decoder 52ms npm http fetch GET 200 https://registry.npmjs.org/string-width 35ms npm http fetch GET 200 https://registry.npmjs.org/has-unicode 42ms npm http fetch GET 200 https://registry.npmjs.org/signal-exit 42ms npm http fetch GET 200 https://registry.npmjs.org/aproba 44ms npm http fetch GET 200 https://registry.npmjs.org/object-assign 44ms npm http fetch GET 200 https://registry.npmjs.org/wide-align 44ms npm http fetch GET 200 https://registry.npmjs.org/strip-ansi 47ms npm http fetch GET 200 https://registry.npmjs.org/code-point-at 25ms npm http fetch GET 200 https://registry.npmjs.org/is-fullwidth-code-point 26ms npm http fetch GET 200 https://registry.npmjs.org/number-is-nan 22ms npm http fetch GET 200 https://registry.npmjs.org/ansi-regex 21ms npm http fetch GET 200 https://registry.npmjs.org/ini 29ms npm http fetch GET 200 https://registry.npmjs.org/deep-extend 32ms npm http fetch GET 200 https://registry.npmjs.org/strip-json-comments 32ms npm http fetch GET 200 https://registry.npmjs.org/form-data 46ms npm http fetch GET 200 https://registry.npmjs.org/combined-stream 47ms npm http fetch GET 200 https://registry.npmjs.org/caseless 51ms npm http fetch GET 200 https://registry.npmjs.org/aws4 53ms npm http fetch GET 200 https://registry.npmjs.org/extend 55ms npm http fetch GET 200 https://registry.npmjs.org/aws-sign2 57ms npm http fetch GET 200 https://registry.npmjs.org/forever-agent 57ms npm http fetch GET 200 https://registry.npmjs.org/har-validator 58ms npm http fetch GET 200 https://registry.npmjs.org/hawk 59ms npm http fetch GET 200 https://registry.npmjs.org/is-typedarray 28ms npm http fetch GET 200 https://registry.npmjs.org/isstream 27ms npm http fetch GET 200 https://registry.npmjs.org/json-stringify-safe 30ms npm http fetch GET 200 https://registry.npmjs.org/mime-types 41ms npm http fetch GET 200 https://registry.npmjs.org/oauth-sign 41ms npm http fetch GET 200 https://registry.npmjs.org/stringstream 41ms npm http fetch GET 200 https://registry.npmjs.org/qs 42ms npm http fetch GET 200 https://registry.npmjs.org/tough-cookie 45ms npm http fetch GET 200 https://registry.npmjs.org/performance-now 56ms npm http fetch GET 200 https://registry.npmjs.org/http-signature 150ms npm http fetch GET 200 https://registry.npmjs.org/uuid 29ms npm http fetch GET 200 https://registry.npmjs.org/tunnel-agent 31ms npm http fetch GET 200 https://registry.npmjs.org/delayed-stream 31ms npm http fetch GET 200 https://registry.npmjs.org/asynckit 22ms npm http fetch GET 200 https://registry.npmjs.org/mime-db 49ms npm http fetch GET 200 https://registry.npmjs.org/har-schema 21ms npm http fetch GET 200 https://registry.npmjs.org/ajv 48ms npm http fetch GET 200 https://registry.npmjs.org/json-stable-stringify 22ms npm http fetch GET 200 https://registry.npmjs.org/co 24ms npm http fetch GET 200 https://registry.npmjs.org/jsonify 20ms npm http fetch GET 200 https://registry.npmjs.org/cryptiles 26ms npm http fetch GET 200 https://registry.npmjs.org/sntp 28ms npm http fetch GET 200 https://registry.npmjs.org/hoek 30ms npm http fetch GET 200 https://registry.npmjs.org/boom 37ms npm http fetch GET 200 https://registry.npmjs.org/assert-plus 35ms npm http fetch GET 200 https://registry.npmjs.org/sshpk 37ms npm http fetch GET 200 https://registry.npmjs.org/jsprim 42ms npm http fetch GET 200 https://registry.npmjs.org/json-schema 27ms npm http fetch GET 200 https://registry.npmjs.org/extsprintf 29ms npm http fetch GET 200 https://registry.npmjs.org/verror 30ms npm http fetch GET 200 https://registry.npmjs.org/dashdash 40ms npm http fetch GET 200 https://registry.npmjs.org/bcrypt-pbkdf 41ms npm http fetch GET 200 https://registry.npmjs.org/tweetnacl 42ms npm http fetch GET 200 https://registry.npmjs.org/jsbn 43ms npm http fetch GET 200 https://registry.npmjs.org/ecc-jsbn 43ms npm http fetch GET 200 https://registry.npmjs.org/asn1 47ms npm http fetch GET 200 https://registry.npmjs.org/getpass 49ms npm http fetch GET 200 https://registry.npmjs.org/punycode 23ms npm http fetch GET 200 https://registry.npmjs.org/glob 22ms npm http fetch GET 200 https://registry.npmjs.org/path-is-absolute 28ms npm http fetch GET 200 https://registry.npmjs.org/once 31ms npm http fetch GET 200 https://registry.npmjs.org/inflight 33ms npm http fetch GET 200 https://registry.npmjs.org/minimatch 32ms npm http fetch GET 200 https://registry.npmjs.org/fs.realpath 36ms npm http fetch GET 200 https://registry.npmjs.org/wrappy 21ms npm http fetch GET 200 https://registry.npmjs.org/brace-expansion 22ms npm http fetch GET 200 https://registry.npmjs.org/balanced-match 23ms npm http fetch GET 200 https://registry.npmjs.org/concat-map 23ms npm http fetch GET 200 https://registry.npmjs.org/block-stream 27ms npm http fetch GET 200 https://registry.npmjs.org/fstream 29ms npm http fetch GET 200 https://registry.npmjs.org/graceful-fs 21ms npm http fetch GET 200 https://registry.npmjs.org/uid-number 30ms npm http fetch GET 200 https://registry.npmjs.org/fstream-ignore 31ms npm http fetch GET 200 https://registry.npmjs.org/debug 34ms npm http fetch GET 200 https://registry.npmjs.org/ms 35ms npm http fetch GET 200 https://registry.npmjs.org/buffer-shims 37ms npm http fetch GET 200 https://registry.npmjs.org/aproba/-/aproba-1.1.2.tgz 308ms npm http fetch GET 200 https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz 308ms npm http fetch GET 200 https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz 309ms npm http fetch GET 200 https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz 311ms npm http fetch GET 200 https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.2.tgz 310ms npm http fetch GET 200 https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz 311ms npm http fetch GET 200 https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz 379ms npm http fetch GET 200 https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz 379ms npm http fetch GET 200 https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz 385ms npm http fetch GET 200 https://registry.npmjs.org/abbrev/-/abbrev-1.1.0.tgz 388ms npm http fetch GET 200 https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz 389ms npm http fetch GET 200 https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz 392ms npm http fetch GET 200 https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz 398ms npm http fetch GET 200 https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz 394ms npm http fetch GET 200 https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz 391ms npm http fetch GET 200 https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz 393ms npm http fetch GET 200 https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz 396ms npm http fetch GET 200 https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz 410ms npm http fetch GET 200 https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz 407ms npm http fetch GET 200 https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz 412ms npm http fetch GET 200 https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz 414ms npm http fetch GET 200 https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz 409ms npm http fetch GET 200 https://registry.npmjs.org/co/-/co-4.6.0.tgz 418ms npm http fetch GET 200 https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz 434ms npm http fetch GET 200 https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz 445ms npm http fetch GET 200 https://registry.npmjs.org/extend/-/extend-3.0.1.tgz 451ms npm http fetch GET 200 https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz 446ms npm http fetch GET 200 https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz 458ms npm http fetch GET 200 https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz 456ms npm http fetch GET 200 https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz 461ms npm http fetch GET 200 https://registry.npmjs.org/boom/-/boom-2.10.1.tgz 462ms npm http fetch GET 200 https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz 468ms npm http fetch GET 200 https://registry.npmjs.org/ini/-/ini-1.3.4.tgz 472ms npm http fetch GET 200 https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz 473ms npm http fetch GET 200 https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz 480ms npm http fetch GET 200 https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz 473ms npm http fetch GET 200 https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz 479ms npm http fetch GET 200 https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz 482ms npm http fetch GET 200 https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz 488ms npm http fetch GET 200 https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz 489ms npm http fetch GET 200 https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz 492ms npm http fetch GET 200 https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz 493ms npm http fetch GET 200 https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz 494ms npm http fetch GET 200 https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz 504ms npm http fetch GET 200 https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz 496ms npm http fetch GET 200 https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz 497ms npm http fetch GET 200 https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz 500ms npm http fetch GET 200 https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz 500ms npm http fetch GET 200 https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz 507ms npm http fetch GET 200 https://registry.npmjs.org/bcrypt/-/bcrypt-1.0.2.tgz 149ms npm http fetch GET 200 https://registry.npmjs.org/bindings/-/bindings-1.2.1.tgz 168ms npm http fetch GET 200 https://registry.npmjs.org/nan/-/nan-2.5.0.tgz 190ms npm http fetch GET 200 https://registry.npmjs.org/fstream-ignore/-/fstream-ignore-1.0.5.tgz 167ms npm http fetch GET 200 https://registry.npmjs.org/tar-pack/-/tar-pack-3.3.0.tgz 198ms npm http fetch GET 200 https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz 143ms npm http fetch GET 200 https://registry.npmjs.org/rimraf/-/rimraf-2.5.4.tgz 166ms npm http fetch GET 200 https://registry.npmjs.org/once/-/once-1.4.0.tgz 163ms npm http fetch GET 200 https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz 179ms npm http fetch GET 200 https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz 168ms npm http fetch GET 200 https://registry.npmjs.org/glob/-/glob-7.1.2.tgz 168ms npm http fetch GET 200 https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz 128ms npm http fetch GET 200 https://registry.npmjs.org/once/-/once-1.3.3.tgz 205ms npm http fetch GET 200 https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz 146ms npm http fetch GET 200 https://registry.npmjs.org/tar/-/tar-2.2.1.tgz 191ms npm http fetch GET 200 https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.6.32.tgz 220ms npm http fetch GET 200 https://registry.npmjs.org/wide-align/-/wide-align-1.1.2.tgz 130ms npm http fetch GET 200 https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz 126ms npm http fetch GET 200 https://registry.npmjs.org/jsprim/-/jsprim-1.4.0.tgz 115ms npm http fetch GET 200 https://registry.npmjs.org/request/-/request-2.81.0.tgz 148ms npm http fetch GET 200 https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz 132ms npm http fetch GET 200 https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz 132ms npm http fetch GET 200 https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz 137ms npm http fetch GET 200 https://registry.npmjs.org/uid-number/-/uid-number-0.0.6.tgz 114ms npm http fetch GET 200 https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz 115ms npm http fetch GET 200 https://registry.npmjs.org/verror/-/verror-1.3.6.tgz 152ms npm http fetch GET 200 https://registry.npmjs.org/readable-stream/-/readable-stream-2.1.5.tgz 166ms npm http fetch GET 200 https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz 142ms npm http fetch GET 200 https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz 194ms npm http fetch GET 200 https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz 176ms npm http fetch GET 200 https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz 187ms npm http fetch GET 200 https://registry.npmjs.org/rc/-/rc-1.1.7.tgz 166ms npm http fetch GET 200 https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz 172ms npm http fetch GET 200 https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz 168ms npm http fetch GET 200 https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.2.tgz 194ms npm http fetch GET 200 https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz 164ms npm http fetch GET 200 https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz 173ms npm http fetch GET 200 https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz 174ms npm http fetch GET 200 https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz 116ms npm http fetch GET 200 https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz 136ms npm http fetch GET 200 https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz 103ms npm http fetch GET 200 https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz 90ms npm http fetch GET 200 https://registry.npmjs.org/semver/-/semver-5.3.0.tgz 116ms npm http fetch GET 200 https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz 124ms npm http fetch GET 200 https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz 139ms npm http fetch GET 200 https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz 124ms npm http fetch GET 200 https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz 87ms npm http fetch GET 200 https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz 77ms npm http fetch GET 200 https://registry.npmjs.org/qs/-/qs-6.4.0.tgz 140ms npm http fetch GET 200 https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz 80ms npm http fetch GET 200 https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz 89ms npm http fetch GET 200 https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz 81ms npm http fetch GET 200 https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz 99ms npm http fetch GET 200 https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz 86ms npm http fetch GET 200 https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz 95ms npm http fetch GET 200 https://registry.npmjs.org/ms/-/ms-0.7.1.tgz 85ms npm http fetch GET 200 https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz 86ms npm http fetch GET 200 https://registry.npmjs.org/debug/-/debug-2.2.0.tgz 101ms npm http fetch GET 200 https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz 91ms npm http fetch GET 200 https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz 82ms npm http fetch GET 200 https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz 58ms npm http fetch GET 200 https://registry.npmjs.org/mime-types/-/mime-types-2.1.15.tgz 56ms npm http fetch GET 200 https://registry.npmjs.org/mime-db/-/mime-db-1.27.0.tgz 54ms npm http fetch GET 200 https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz 342ms npm http fetch GET 200 https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz 1301ms npm info lifecycle bcrypt@1.0.2~preinstall: bcrypt@1.0.2 npm info lifecycle node-pre-gyp@0.6.32~preinstall: node-pre-gyp@0.6.32 npm info lifecycle nan@2.5.0~preinstall: nan@2.5.0 npm info lifecycle bindings@1.2.1~preinstall: bindings@1.2.1 npm info lifecycle tar-pack@3.3.0~preinstall: tar-pack@3.3.0 npm info lifecycle once@1.3.3~preinstall: once@1.3.3 npm info lifecycle tar@2.2.1~preinstall: tar@2.2.1 npm info lifecycle fstream-ignore@1.0.5~preinstall: fstream-ignore@1.0.5 npm info lifecycle fstream@1.0.11~preinstall: fstream@1.0.11 npm info lifecycle rimraf@2.5.4~preinstall: rimraf@2.5.4 npm info lifecycle glob@7.1.2~preinstall: glob@7.1.2 npm info lifecycle inflight@1.0.6~preinstall: inflight@1.0.6 npm info lifecycle once@1.4.0~preinstall: once@1.4.0 npm info lifecycle wrappy@1.0.2~preinstall: wrappy@1.0.2 npm info lifecycle npmlog@4.1.2~preinstall: npmlog@4.1.2 npm info lifecycle gauge@2.7.4~preinstall: gauge@2.7.4 npm info lifecycle wide-align@1.1.2~preinstall: wide-align@1.1.2 npm info lifecycle request@2.81.0~preinstall: request@2.81.0 npm info lifecycle http-signature@1.1.1~preinstall: http-signature@1.1.1 npm info lifecycle jsprim@1.4.0~preinstall: jsprim@1.4.0 npm info lifecycle verror@1.3.6~preinstall: verror@1.3.6 npm info lifecycle uuid@3.1.0~preinstall: uuid@3.1.0 npm info lifecycle readable-stream@2.1.5~preinstall: readable-stream@2.1.5 npm info lifecycle are-we-there-yet@1.1.4~preinstall: are-we-there-yet@1.1.4 npm info lifecycle readable-stream@2.3.3~preinstall: readable-stream@2.3.3 npm info lifecycle util-deprecate@1.0.2~preinstall: util-deprecate@1.0.2 npm info lifecycle uid-number@0.0.6~preinstall: uid-number@0.0.6 npm info lifecycle sshpk@1.13.1~preinstall: sshpk@1.13.1 npm info lifecycle bcrypt-pbkdf@1.0.1~preinstall: bcrypt-pbkdf@1.0.1 npm info lifecycle tweetnacl@0.14.5~preinstall: tweetnacl@0.14.5 npm info lifecycle tunnel-agent@0.6.0~preinstall: tunnel-agent@0.6.0 npm info lifecycle tough-cookie@2.3.2~preinstall: tough-cookie@2.3.2 npm info lifecycle string_decoder@0.10.31~preinstall: string_decoder@0.10.31 npm info lifecycle rc@1.1.7~preinstall: rc@1.1.7 npm info lifecycle strip-json-comments@2.0.1~preinstall: strip-json-comments@2.0.1 npm info lifecycle string-width@1.0.2~preinstall: string-width@1.0.2 npm info lifecycle strip-ansi@3.0.1~preinstall: strip-ansi@3.0.1 npm info lifecycle stringstream@0.0.5~preinstall: stringstream@0.0.5 npm info lifecycle string_decoder@1.0.3~preinstall: string_decoder@1.0.3 npm info lifecycle assert-plus@1.0.0~preinstall: assert-plus@1.0.0 npm info lifecycle hawk@3.1.3~preinstall: hawk@3.1.3 npm info lifecycle sntp@1.0.9~preinstall: sntp@1.0.9 npm info lifecycle signal-exit@3.0.2~preinstall: signal-exit@3.0.2 npm info lifecycle set-blocking@2.0.0~preinstall: set-blocking@2.0.0 npm info lifecycle semver@5.3.0~preinstall: semver@5.3.0 npm info lifecycle safe-buffer@5.1.1~preinstall: safe-buffer@5.1.1 npm info lifecycle minimist@1.2.0~preinstall: minimist@1.2.0 npm info lifecycle qs@6.4.0~preinstall: qs@6.4.0 npm info lifecycle punycode@1.4.1~preinstall: punycode@1.4.1 npm info lifecycle process-nextick-args@1.0.7~preinstall: process-nextick-args@1.0.7 npm info lifecycle abbrev@1.1.0~preinstall: abbrev@1.1.0 npm info lifecycle ansi-regex@2.1.1~preinstall: ansi-regex@2.1.1 npm info lifecycle aproba@1.1.2~preinstall: aproba@1.1.2 npm info lifecycle asn1@0.2.3~preinstall: asn1@0.2.3 npm info lifecycle assert-plus@0.2.0~preinstall: assert-plus@0.2.0 npm info lifecycle asynckit@0.4.0~preinstall: asynckit@0.4.0 npm info lifecycle aws-sign2@0.6.0~preinstall: aws-sign2@0.6.0 npm info lifecycle aws4@1.6.0~preinstall: aws4@1.6.0 npm info lifecycle balanced-match@1.0.0~preinstall: balanced-match@1.0.0 npm info lifecycle buffer-shims@1.0.0~preinstall: buffer-shims@1.0.0 npm info lifecycle caseless@0.12.0~preinstall: caseless@0.12.0 npm info lifecycle co@4.6.0~preinstall: co@4.6.0 npm info lifecycle code-point-at@1.1.0~preinstall: code-point-at@1.1.0 npm info lifecycle concat-map@0.0.1~preinstall: concat-map@0.0.1 npm info lifecycle brace-expansion@1.1.8~preinstall: brace-expansion@1.1.8 npm info lifecycle console-control-strings@1.1.0~preinstall: console-control-strings@1.1.0 npm info lifecycle core-util-is@1.0.2~preinstall: core-util-is@1.0.2 npm info lifecycle assert-plus@1.0.0~preinstall: assert-plus@1.0.0 npm info lifecycle dashdash@1.14.1~preinstall: dashdash@1.14.1 npm info lifecycle deep-extend@0.4.2~preinstall: deep-extend@0.4.2 npm info lifecycle delayed-stream@1.0.0~preinstall: delayed-stream@1.0.0 npm info lifecycle combined-stream@1.0.5~preinstall: combined-stream@1.0.5 npm info lifecycle delegates@1.0.0~preinstall: delegates@1.0.0 npm info lifecycle extend@3.0.1~preinstall: extend@3.0.1 npm info lifecycle extsprintf@1.0.2~preinstall: extsprintf@1.0.2 npm info lifecycle forever-agent@0.6.1~preinstall: forever-agent@0.6.1 npm info lifecycle fs.realpath@1.0.0~preinstall: fs.realpath@1.0.0 npm info lifecycle assert-plus@1.0.0~preinstall: assert-plus@1.0.0 npm info lifecycle getpass@0.1.7~preinstall: getpass@0.1.7 npm info lifecycle graceful-fs@4.1.11~preinstall: graceful-fs@4.1.11 npm info lifecycle har-schema@1.0.5~preinstall: har-schema@1.0.5 npm info lifecycle has-unicode@2.0.1~preinstall: has-unicode@2.0.1 npm info lifecycle hoek@2.16.3~preinstall: hoek@2.16.3 npm info lifecycle boom@2.10.1~preinstall: boom@2.10.1 npm info lifecycle cryptiles@2.0.5~preinstall: cryptiles@2.0.5 npm info lifecycle inherits@2.0.3~preinstall: inherits@2.0.3 npm info lifecycle block-stream@0.0.9~preinstall: block-stream@0.0.9 npm info lifecycle ini@1.3.4~preinstall: ini@1.3.4 npm info lifecycle is-typedarray@1.0.0~preinstall: is-typedarray@1.0.0 npm info lifecycle isarray@1.0.0~preinstall: isarray@1.0.0 npm info lifecycle isstream@0.1.2~preinstall: isstream@0.1.2 npm info lifecycle jsbn@0.1.1~preinstall: jsbn@0.1.1 npm info lifecycle ecc-jsbn@0.1.1~preinstall: ecc-jsbn@0.1.1 npm info lifecycle json-schema@0.2.3~preinstall: json-schema@0.2.3 npm info lifecycle json-stringify-safe@5.0.1~preinstall: json-stringify-safe@5.0.1 npm info lifecycle jsonify@0.0.0~preinstall: jsonify@0.0.0 npm info lifecycle json-stable-stringify@1.0.1~preinstall: json-stable-stringify@1.0.1 npm info lifecycle ajv@4.11.8~preinstall: ajv@4.11.8 npm info lifecycle har-validator@4.2.1~preinstall: har-validator@4.2.1 npm info lifecycle assert-plus@1.0.0~preinstall: assert-plus@1.0.0 npm info lifecycle mime-db@1.27.0~preinstall: mime-db@1.27.0 npm info lifecycle mime-types@2.1.15~preinstall: mime-types@2.1.15 npm info lifecycle form-data@2.1.4~preinstall: form-data@2.1.4 npm info lifecycle minimatch@3.0.4~preinstall: minimatch@3.0.4 npm info lifecycle minimist@0.0.8~preinstall: minimist@0.0.8 npm info lifecycle mkdirp@0.5.1~preinstall: mkdirp@0.5.1 npm info lifecycle ms@0.7.1~preinstall: ms@0.7.1 npm info lifecycle debug@2.2.0~preinstall: debug@2.2.0 npm info lifecycle nopt@3.0.6~preinstall: nopt@3.0.6 npm info lifecycle number-is-nan@1.0.1~preinstall: number-is-nan@1.0.1 npm info lifecycle is-fullwidth-code-point@1.0.0~preinstall: is-fullwidth-code-point@1.0.0 npm info lifecycle oauth-sign@0.8.2~preinstall: oauth-sign@0.8.2 npm info lifecycle object-assign@4.1.1~preinstall: object-assign@4.1.1 npm info lifecycle path-is-absolute@1.0.1~preinstall: path-is-absolute@1.0.1 npm info lifecycle performance-now@0.2.0~preinstall: performance-now@0.2.0 npm info linkStuff bcrypt@1.0.2 npm info linkStuff node-pre-gyp@0.6.32 npm info linkStuff nan@2.5.0 npm info linkStuff bindings@1.2.1 npm info linkStuff tar-pack@3.3.0 npm info linkStuff once@1.3.3 npm info linkStuff tar@2.2.1 npm info linkStuff fstream-ignore@1.0.5 npm info linkStuff fstream@1.0.11 npm info linkStuff rimraf@2.5.4 npm info linkStuff glob@7.1.2 npm info linkStuff inflight@1.0.6 npm info linkStuff once@1.4.0 npm info linkStuff wrappy@1.0.2 npm info linkStuff npmlog@4.1.2 npm info linkStuff gauge@2.7.4 npm info linkStuff wide-align@1.1.2 npm info linkStuff request@2.81.0 npm info linkStuff http-signature@1.1.1 npm info linkStuff jsprim@1.4.0 npm info linkStuff verror@1.3.6 npm info linkStuff uuid@3.1.0 npm info linkStuff readable-stream@2.1.5 npm info linkStuff are-we-there-yet@1.1.4 npm info linkStuff readable-stream@2.3.3 npm info linkStuff util-deprecate@1.0.2 npm info linkStuff uid-number@0.0.6 npm info linkStuff sshpk@1.13.1 npm info linkStuff bcrypt-pbkdf@1.0.1 npm info linkStuff tweetnacl@0.14.5 npm info linkStuff tunnel-agent@0.6.0 npm info linkStuff tough-cookie@2.3.2 npm info linkStuff string_decoder@0.10.31 npm info linkStuff rc@1.1.7 npm info linkStuff strip-json-comments@2.0.1 npm info linkStuff string-width@1.0.2 npm info linkStuff strip-ansi@3.0.1 npm info linkStuff stringstream@0.0.5 npm info linkStuff string_decoder@1.0.3 npm info linkStuff assert-plus@1.0.0 npm info linkStuff hawk@3.1.3 npm info linkStuff sntp@1.0.9 npm info linkStuff signal-exit@3.0.2 npm info linkStuff set-blocking@2.0.0 npm info linkStuff semver@5.3.0 npm info linkStuff safe-buffer@5.1.1 npm info linkStuff minimist@1.2.0 npm info linkStuff qs@6.4.0 npm info linkStuff punycode@1.4.1 npm info linkStuff process-nextick-args@1.0.7 npm info linkStuff performance-now@0.2.0 npm info linkStuff path-is-absolute@1.0.1 npm info linkStuff object-assign@4.1.1 npm info linkStuff oauth-sign@0.8.2 npm info linkStuff is-fullwidth-code-point@1.0.0 npm info linkStuff number-is-nan@1.0.1 npm info linkStuff nopt@3.0.6 npm info linkStuff debug@2.2.0 npm info linkStuff ms@0.7.1 npm info linkStuff mkdirp@0.5.1 npm info linkStuff minimist@0.0.8 npm info linkStuff minimatch@3.0.4 npm info linkStuff form-data@2.1.4 npm info linkStuff mime-types@2.1.15 npm info linkStuff mime-db@1.27.0 npm info linkStuff assert-plus@1.0.0 npm info linkStuff har-validator@4.2.1 npm info linkStuff ajv@4.11.8 npm info linkStuff json-stable-stringify@1.0.1 npm info linkStuff jsonify@0.0.0 npm info linkStuff json-stringify-safe@5.0.1 npm info linkStuff json-schema@0.2.3 npm info linkStuff ecc-jsbn@0.1.1 npm info linkStuff jsbn@0.1.1 npm info linkStuff isstream@0.1.2 npm info linkStuff isarray@1.0.0 npm info linkStuff is-typedarray@1.0.0 npm info linkStuff ini@1.3.4 npm info linkStuff block-stream@0.0.9 npm info linkStuff inherits@2.0.3 npm info linkStuff cryptiles@2.0.5 npm info linkStuff boom@2.10.1 npm info linkStuff hoek@2.16.3 npm info linkStuff has-unicode@2.0.1 npm info linkStuff har-schema@1.0.5 npm info linkStuff graceful-fs@4.1.11 npm info linkStuff getpass@0.1.7 npm info linkStuff assert-plus@1.0.0 npm info linkStuff fs.realpath@1.0.0 npm info linkStuff forever-agent@0.6.1 npm info linkStuff extsprintf@1.0.2 npm info linkStuff extend@3.0.1 npm info linkStuff delegates@1.0.0 npm info linkStuff combined-stream@1.0.5 npm info linkStuff delayed-stream@1.0.0 npm info linkStuff deep-extend@0.4.2 npm info linkStuff dashdash@1.14.1 npm info linkStuff assert-plus@1.0.0 npm info linkStuff core-util-is@1.0.2 npm info linkStuff console-control-strings@1.1.0 npm info linkStuff brace-expansion@1.1.8 npm info linkStuff concat-map@0.0.1 npm info linkStuff code-point-at@1.1.0 npm info linkStuff co@4.6.0 npm info linkStuff caseless@0.12.0 npm info linkStuff buffer-shims@1.0.0 npm info linkStuff balanced-match@1.0.0 npm info linkStuff aws4@1.6.0 npm info linkStuff aws-sign2@0.6.0 npm info linkStuff asynckit@0.4.0 npm info linkStuff assert-plus@0.2.0 npm info linkStuff asn1@0.2.3 npm info linkStuff aproba@1.1.2 npm info linkStuff ansi-regex@2.1.1 npm info linkStuff abbrev@1.1.0 npm info lifecycle bcrypt@1.0.2~install: bcrypt@1.0.2 > bcrypt@1.0.2 install /node_modules/bcrypt > node-pre-gyp install --fallback-to-build node-pre-gyp info it worked if it ends with ok node-pre-gyp info using node-pre-gyp@0.6.32 node-pre-gyp info using node@8.1.3 | linux | x64 node-pre-gyp info check checked for "/node_modules/bcrypt/lib/binding/bcrypt_lib.node" (not found) node-pre-gyp http GET https://github.com/kelektiv/node.bcrypt.js/releases/download/v1.0.2/bcrypt_lib-v1.0.2-node-v57-linux-x64.tar.gz node-pre-gyp http 200 https://github.com/kelektiv/node.bcrypt.js/releases/download/v1.0.2/bcrypt_lib-v1.0.2-node-v57-linux-x64.tar.gz node-pre-gyp info install unpacking bcrypt_lib.node node-pre-gyp info tarball done parsing tarball node-pre-gyp info validate Running test command: '/usr/local/bin/node --eval 'require(\'/node_modules/bcrypt/lib/binding/bcrypt_lib.node\')'' [bcrypt] Success: "/node_modules/bcrypt/lib/binding/bcrypt_lib.node" is installed via remote node-pre-gyp info ok npm info lifecycle node-pre-gyp@0.6.32~install: node-pre-gyp@0.6.32 npm info lifecycle nan@2.5.0~install: nan@2.5.0 npm info lifecycle bindings@1.2.1~install: bindings@1.2.1 npm info lifecycle tar-pack@3.3.0~install: tar-pack@3.3.0 npm info lifecycle once@1.3.3~install: once@1.3.3 npm info lifecycle tar@2.2.1~install: tar@2.2.1 npm info lifecycle fstream-ignore@1.0.5~install: fstream-ignore@1.0.5 npm info lifecycle fstream@1.0.11~install: fstream@1.0.11 npm info lifecycle rimraf@2.5.4~install: rimraf@2.5.4 npm info lifecycle glob@7.1.2~install: glob@7.1.2 npm info lifecycle inflight@1.0.6~install: inflight@1.0.6 npm info lifecycle once@1.4.0~install: once@1.4.0 npm info lifecycle wrappy@1.0.2~install: wrappy@1.0.2 npm info lifecycle npmlog@4.1.2~install: npmlog@4.1.2 npm info lifecycle gauge@2.7.4~install: gauge@2.7.4 npm info lifecycle wide-align@1.1.2~install: wide-align@1.1.2 npm info lifecycle request@2.81.0~install: request@2.81.0 npm info lifecycle http-signature@1.1.1~install: http-signature@1.1.1 npm info lifecycle jsprim@1.4.0~install: jsprim@1.4.0 npm info lifecycle verror@1.3.6~install: verror@1.3.6 npm info lifecycle uuid@3.1.0~install: uuid@3.1.0 npm info lifecycle readable-stream@2.1.5~install: readable-stream@2.1.5 npm info lifecycle are-we-there-yet@1.1.4~install: are-we-there-yet@1.1.4 npm info lifecycle readable-stream@2.3.3~install: readable-stream@2.3.3 npm info lifecycle util-deprecate@1.0.2~install: util-deprecate@1.0.2 npm info lifecycle uid-number@0.0.6~install: uid-number@0.0.6 npm info lifecycle sshpk@1.13.1~install: sshpk@1.13.1 npm info lifecycle bcrypt-pbkdf@1.0.1~install: bcrypt-pbkdf@1.0.1 npm info lifecycle tweetnacl@0.14.5~install: tweetnacl@0.14.5 npm info lifecycle tunnel-agent@0.6.0~install: tunnel-agent@0.6.0 npm info lifecycle tough-cookie@2.3.2~install: tough-cookie@2.3.2 npm info lifecycle string_decoder@0.10.31~install: string_decoder@0.10.31 npm info lifecycle rc@1.1.7~install: rc@1.1.7 npm info lifecycle strip-json-comments@2.0.1~install: strip-json-comments@2.0.1 npm info lifecycle string-width@1.0.2~install: string-width@1.0.2 npm info lifecycle strip-ansi@3.0.1~install: strip-ansi@3.0.1 npm info lifecycle stringstream@0.0.5~install: stringstream@0.0.5 npm info lifecycle string_decoder@1.0.3~install: string_decoder@1.0.3 npm info lifecycle assert-plus@1.0.0~install: assert-plus@1.0.0 npm info lifecycle hawk@3.1.3~install: hawk@3.1.3 npm info lifecycle sntp@1.0.9~install: sntp@1.0.9 npm info lifecycle signal-exit@3.0.2~install: signal-exit@3.0.2 npm info lifecycle set-blocking@2.0.0~install: set-blocking@2.0.0 npm info lifecycle semver@5.3.0~install: semver@5.3.0 npm info lifecycle safe-buffer@5.1.1~install: safe-buffer@5.1.1 npm info lifecycle minimist@1.2.0~install: minimist@1.2.0 npm info lifecycle qs@6.4.0~install: qs@6.4.0 npm info lifecycle punycode@1.4.1~install: punycode@1.4.1 npm info lifecycle process-nextick-args@1.0.7~install: process-nextick-args@1.0.7 npm info lifecycle performance-now@0.2.0~install: performance-now@0.2.0 npm info lifecycle path-is-absolute@1.0.1~install: path-is-absolute@1.0.1 npm info lifecycle object-assign@4.1.1~install: object-assign@4.1.1 npm info lifecycle oauth-sign@0.8.2~install: oauth-sign@0.8.2 npm info lifecycle is-fullwidth-code-point@1.0.0~install: is-fullwidth-code-point@1.0.0 npm info lifecycle number-is-nan@1.0.1~install: number-is-nan@1.0.1 npm info lifecycle nopt@3.0.6~install: nopt@3.0.6 npm info lifecycle debug@2.2.0~install: debug@2.2.0 npm info lifecycle ms@0.7.1~install: ms@0.7.1 npm info lifecycle mkdirp@0.5.1~install: mkdirp@0.5.1 npm info lifecycle minimist@0.0.8~install: minimist@0.0.8 npm info lifecycle minimatch@3.0.4~install: minimatch@3.0.4 npm info lifecycle form-data@2.1.4~install: form-data@2.1.4 npm info lifecycle mime-types@2.1.15~install: mime-types@2.1.15 npm info lifecycle mime-db@1.27.0~install: mime-db@1.27.0 npm info lifecycle assert-plus@1.0.0~install: assert-plus@1.0.0 npm info lifecycle har-validator@4.2.1~install: har-validator@4.2.1 npm info lifecycle ajv@4.11.8~install: ajv@4.11.8 npm info lifecycle json-stable-stringify@1.0.1~install: json-stable-stringify@1.0.1 npm info lifecycle jsonify@0.0.0~install: jsonify@0.0.0 npm info lifecycle json-stringify-safe@5.0.1~install: json-stringify-safe@5.0.1 npm info lifecycle json-schema@0.2.3~install: json-schema@0.2.3 npm info lifecycle ecc-jsbn@0.1.1~install: ecc-jsbn@0.1.1 npm info lifecycle jsbn@0.1.1~install: jsbn@0.1.1 npm info lifecycle isstream@0.1.2~install: isstream@0.1.2 npm info lifecycle isarray@1.0.0~install: isarray@1.0.0 npm info lifecycle is-typedarray@1.0.0~install: is-typedarray@1.0.0 npm info lifecycle ini@1.3.4~install: ini@1.3.4 npm info lifecycle block-stream@0.0.9~install: block-stream@0.0.9 npm info lifecycle inherits@2.0.3~install: inherits@2.0.3 npm info lifecycle cryptiles@2.0.5~install: cryptiles@2.0.5 npm info lifecycle boom@2.10.1~install: boom@2.10.1 npm info lifecycle hoek@2.16.3~install: hoek@2.16.3 npm info lifecycle has-unicode@2.0.1~install: has-unicode@2.0.1 npm info lifecycle har-schema@1.0.5~install: har-schema@1.0.5 npm info lifecycle graceful-fs@4.1.11~install: graceful-fs@4.1.11 npm info lifecycle getpass@0.1.7~install: getpass@0.1.7 npm info lifecycle assert-plus@1.0.0~install: assert-plus@1.0.0 npm info lifecycle fs.realpath@1.0.0~install: fs.realpath@1.0.0 npm info lifecycle forever-agent@0.6.1~install: forever-agent@0.6.1 npm info lifecycle extsprintf@1.0.2~install: extsprintf@1.0.2 npm info lifecycle extend@3.0.1~install: extend@3.0.1 npm info lifecycle delegates@1.0.0~install: delegates@1.0.0 npm info lifecycle combined-stream@1.0.5~install: combined-stream@1.0.5 npm info lifecycle delayed-stream@1.0.0~install: delayed-stream@1.0.0 npm info lifecycle deep-extend@0.4.2~install: deep-extend@0.4.2 npm info lifecycle dashdash@1.14.1~install: dashdash@1.14.1 npm info lifecycle assert-plus@1.0.0~install: assert-plus@1.0.0 npm info lifecycle core-util-is@1.0.2~install: core-util-is@1.0.2 npm info lifecycle console-control-strings@1.1.0~install: console-control-strings@1.1.0 npm info lifecycle brace-expansion@1.1.8~install: brace-expansion@1.1.8 npm info lifecycle concat-map@0.0.1~install: concat-map@0.0.1 npm info lifecycle code-point-at@1.1.0~install: code-point-at@1.1.0 npm info lifecycle co@4.6.0~install: co@4.6.0 npm info lifecycle caseless@0.12.0~install: caseless@0.12.0 npm info lifecycle buffer-shims@1.0.0~install: buffer-shims@1.0.0 npm info lifecycle balanced-match@1.0.0~install: balanced-match@1.0.0 npm info lifecycle aws4@1.6.0~install: aws4@1.6.0 npm info lifecycle aws-sign2@0.6.0~install: aws-sign2@0.6.0 npm info lifecycle asynckit@0.4.0~install: asynckit@0.4.0 npm info lifecycle assert-plus@0.2.0~install: assert-plus@0.2.0 npm info lifecycle asn1@0.2.3~install: asn1@0.2.3 npm info lifecycle aproba@1.1.2~install: aproba@1.1.2 npm info lifecycle ansi-regex@2.1.1~install: ansi-regex@2.1.1 npm info lifecycle abbrev@1.1.0~install: abbrev@1.1.0 npm info lifecycle bcrypt@1.0.2~postinstall: bcrypt@1.0.2 npm info lifecycle node-pre-gyp@0.6.32~postinstall: node-pre-gyp@0.6.32 npm info lifecycle nan@2.5.0~postinstall: nan@2.5.0 npm info lifecycle bindings@1.2.1~postinstall: bindings@1.2.1 npm info lifecycle tar-pack@3.3.0~postinstall: tar-pack@3.3.0 npm info lifecycle once@1.3.3~postinstall: once@1.3.3 npm info lifecycle tar@2.2.1~postinstall: tar@2.2.1 npm info lifecycle fstream-ignore@1.0.5~postinstall: fstream-ignore@1.0.5 npm info lifecycle fstream@1.0.11~postinstall: fstream@1.0.11 npm info lifecycle rimraf@2.5.4~postinstall: rimraf@2.5.4 npm info lifecycle glob@7.1.2~postinstall: glob@7.1.2 npm info lifecycle inflight@1.0.6~postinstall: inflight@1.0.6 npm info lifecycle once@1.4.0~postinstall: once@1.4.0 npm info lifecycle wrappy@1.0.2~postinstall: wrappy@1.0.2 npm info lifecycle npmlog@4.1.2~postinstall: npmlog@4.1.2 npm info lifecycle gauge@2.7.4~postinstall: gauge@2.7.4 npm info lifecycle wide-align@1.1.2~postinstall: wide-align@1.1.2 npm info lifecycle request@2.81.0~postinstall: request@2.81.0 npm info lifecycle http-signature@1.1.1~postinstall: http-signature@1.1.1 npm info lifecycle jsprim@1.4.0~postinstall: jsprim@1.4.0 npm info lifecycle verror@1.3.6~postinstall: verror@1.3.6 npm info lifecycle uuid@3.1.0~postinstall: uuid@3.1.0 npm info lifecycle readable-stream@2.1.5~postinstall: readable-stream@2.1.5 npm info lifecycle are-we-there-yet@1.1.4~postinstall: are-we-there-yet@1.1.4 npm info lifecycle readable-stream@2.3.3~postinstall: readable-stream@2.3.3 npm info lifecycle util-deprecate@1.0.2~postinstall: util-deprecate@1.0.2 npm info lifecycle uid-number@0.0.6~postinstall: uid-number@0.0.6 npm info lifecycle sshpk@1.13.1~postinstall: sshpk@1.13.1 npm info lifecycle bcrypt-pbkdf@1.0.1~postinstall: bcrypt-pbkdf@1.0.1 npm info lifecycle tweetnacl@0.14.5~postinstall: tweetnacl@0.14.5 npm info lifecycle tunnel-agent@0.6.0~postinstall: tunnel-agent@0.6.0 npm info lifecycle tough-cookie@2.3.2~postinstall: tough-cookie@2.3.2 npm info lifecycle string_decoder@0.10.31~postinstall: string_decoder@0.10.31 npm info lifecycle rc@1.1.7~postinstall: rc@1.1.7 npm info lifecycle strip-json-comments@2.0.1~postinstall: strip-json-comments@2.0.1 npm info lifecycle string-width@1.0.2~postinstall: string-width@1.0.2 npm info lifecycle strip-ansi@3.0.1~postinstall: strip-ansi@3.0.1 npm info lifecycle stringstream@0.0.5~postinstall: stringstream@0.0.5 npm info lifecycle string_decoder@1.0.3~postinstall: string_decoder@1.0.3 npm info lifecycle assert-plus@1.0.0~postinstall: assert-plus@1.0.0 npm info lifecycle hawk@3.1.3~postinstall: hawk@3.1.3 npm info lifecycle sntp@1.0.9~postinstall: sntp@1.0.9 npm info lifecycle signal-exit@3.0.2~postinstall: signal-exit@3.0.2 npm info lifecycle set-blocking@2.0.0~postinstall: set-blocking@2.0.0 npm info lifecycle semver@5.3.0~postinstall: semver@5.3.0 npm info lifecycle safe-buffer@5.1.1~postinstall: safe-buffer@5.1.1 npm info lifecycle minimist@1.2.0~postinstall: minimist@1.2.0 npm info lifecycle qs@6.4.0~postinstall: qs@6.4.0 npm info lifecycle punycode@1.4.1~postinstall: punycode@1.4.1 npm info lifecycle process-nextick-args@1.0.7~postinstall: process-nextick-args@1.0.7 npm info lifecycle performance-now@0.2.0~postinstall: performance-now@0.2.0 npm info lifecycle path-is-absolute@1.0.1~postinstall: path-is-absolute@1.0.1 npm info lifecycle object-assign@4.1.1~postinstall: object-assign@4.1.1 npm info lifecycle oauth-sign@0.8.2~postinstall: oauth-sign@0.8.2 npm info lifecycle is-fullwidth-code-point@1.0.0~postinstall: is-fullwidth-code-point@1.0.0 npm info lifecycle number-is-nan@1.0.1~postinstall: number-is-nan@1.0.1 npm info lifecycle nopt@3.0.6~postinstall: nopt@3.0.6 npm info lifecycle debug@2.2.0~postinstall: debug@2.2.0 npm info lifecycle ms@0.7.1~postinstall: ms@0.7.1 npm info lifecycle mkdirp@0.5.1~postinstall: mkdirp@0.5.1 npm info lifecycle minimist@0.0.8~postinstall: minimist@0.0.8 npm info lifecycle minimatch@3.0.4~postinstall: minimatch@3.0.4 npm info lifecycle form-data@2.1.4~postinstall: form-data@2.1.4 npm info lifecycle mime-types@2.1.15~postinstall: mime-types@2.1.15 npm info lifecycle mime-db@1.27.0~postinstall: mime-db@1.27.0 npm info lifecycle assert-plus@1.0.0~postinstall: assert-plus@1.0.0 npm info lifecycle har-validator@4.2.1~postinstall: har-validator@4.2.1 npm info lifecycle ajv@4.11.8~postinstall: ajv@4.11.8 npm info lifecycle json-stable-stringify@1.0.1~postinstall: json-stable-stringify@1.0.1 npm info lifecycle jsonify@0.0.0~postinstall: jsonify@0.0.0 npm info lifecycle json-stringify-safe@5.0.1~postinstall: json-stringify-safe@5.0.1 npm info lifecycle json-schema@0.2.3~postinstall: json-schema@0.2.3 npm info lifecycle ecc-jsbn@0.1.1~postinstall: ecc-jsbn@0.1.1 npm info lifecycle jsbn@0.1.1~postinstall: jsbn@0.1.1 npm info lifecycle isstream@0.1.2~postinstall: isstream@0.1.2 npm info lifecycle isarray@1.0.0~postinstall: isarray@1.0.0 npm info lifecycle is-typedarray@1.0.0~postinstall: is-typedarray@1.0.0 npm info lifecycle ini@1.3.4~postinstall: ini@1.3.4 npm info lifecycle block-stream@0.0.9~postinstall: block-stream@0.0.9 npm info lifecycle inherits@2.0.3~postinstall: inherits@2.0.3 npm info lifecycle cryptiles@2.0.5~postinstall: cryptiles@2.0.5 npm info lifecycle boom@2.10.1~postinstall: boom@2.10.1 npm info lifecycle hoek@2.16.3~postinstall: hoek@2.16.3 npm info lifecycle has-unicode@2.0.1~postinstall: has-unicode@2.0.1 npm info lifecycle har-schema@1.0.5~postinstall: har-schema@1.0.5 npm info lifecycle graceful-fs@4.1.11~postinstall: graceful-fs@4.1.11 npm info lifecycle getpass@0.1.7~postinstall: getpass@0.1.7 npm info lifecycle assert-plus@1.0.0~postinstall: assert-plus@1.0.0 npm info lifecycle fs.realpath@1.0.0~postinstall: fs.realpath@1.0.0 npm info lifecycle forever-agent@0.6.1~postinstall: forever-agent@0.6.1 npm info lifecycle extsprintf@1.0.2~postinstall: extsprintf@1.0.2 npm info lifecycle extend@3.0.1~postinstall: extend@3.0.1 npm info lifecycle delegates@1.0.0~postinstall: delegates@1.0.0 npm info lifecycle combined-stream@1.0.5~postinstall: combined-stream@1.0.5 npm info lifecycle delayed-stream@1.0.0~postinstall: delayed-stream@1.0.0 npm info lifecycle deep-extend@0.4.2~postinstall: deep-extend@0.4.2 npm info lifecycle dashdash@1.14.1~postinstall: dashdash@1.14.1 npm info lifecycle assert-plus@1.0.0~postinstall: assert-plus@1.0.0 npm info lifecycle core-util-is@1.0.2~postinstall: core-util-is@1.0.2 npm info lifecycle console-control-strings@1.1.0~postinstall: console-control-strings@1.1.0 npm info lifecycle brace-expansion@1.1.8~postinstall: brace-expansion@1.1.8 npm info lifecycle concat-map@0.0.1~postinstall: concat-map@0.0.1 npm info lifecycle code-point-at@1.1.0~postinstall: code-point-at@1.1.0 npm info lifecycle co@4.6.0~postinstall: co@4.6.0 npm info lifecycle caseless@0.12.0~postinstall: caseless@0.12.0 npm info lifecycle buffer-shims@1.0.0~postinstall: buffer-shims@1.0.0 npm info lifecycle balanced-match@1.0.0~postinstall: balanced-match@1.0.0 npm info lifecycle aws4@1.6.0~postinstall: aws4@1.6.0 npm info lifecycle aws-sign2@0.6.0~postinstall: aws-sign2@0.6.0 npm info lifecycle asynckit@0.4.0~postinstall: asynckit@0.4.0 npm info lifecycle assert-plus@0.2.0~postinstall: assert-plus@0.2.0 npm info lifecycle asn1@0.2.3~postinstall: asn1@0.2.3 npm info lifecycle aproba@1.1.2~postinstall: aproba@1.1.2 npm info lifecycle ansi-regex@2.1.1~postinstall: ansi-regex@2.1.1 npm info lifecycle abbrev@1.1.0~postinstall: abbrev@1.1.0 npm WARN saveError ENOENT: no such file or directory, open '/package.json' npm info lifecycle undefined~preshrinkwrap: undefined npm info lifecycle undefined~shrinkwrap: undefined npm notice created a lockfile as package-lock.json. You should commit this file. npm info lifecycle undefined~postshrinkwrap: undefined npm WARN enoent ENOENT: no such file or directory, open '/package.json' npm WARN !invalid#1 No description npm WARN !invalid#1 No repository field. npm WARN !invalid#1 No README data npm WARN !invalid#1 No license field. + bcrypt@1.0.2 added 115 packages in 7.191s npm info ok Segmentation fault ```

Seems to affect older Alpine versions too. It seems possible it's related to https://github.com/nodejs/node/issues/14069. The default Node image using buildpack-deps doesn't exhibit the problem.

recrsn commented 7 years ago

Try adding a npm rebuild bcrypt --build-from-source just after npm install and please let me know the results.

georgecrawford commented 7 years ago

Yep, that works:

Click to expand ``` $ docker run -it node:8.1.3-alpine /bin/sh -c 'apk --no-cache add --virtual builds-deps build-base python && npm i bcrypt && npm rebuild bcrypt --build-from-source && node -e '"'"'require("bcrypt").genSalt(10)'"'" fetch http://dl-cdn.alpinelinux.org/alpine/v3.6/main/x86_64/APKINDEX.tar.gz fetch http://dl-cdn.alpinelinux.org/alpine/v3.6/community/x86_64/APKINDEX.tar.gz (1/27) Installing binutils-libs (2.28-r2) (2/27) Installing binutils (2.28-r2) (3/27) Installing gmp (6.1.2-r0) (4/27) Installing isl (0.17.1-r0) (5/27) Installing libgomp (6.3.0-r4) (6/27) Installing libatomic (6.3.0-r4) (7/27) Installing pkgconf (1.3.7-r0) (8/27) Installing mpfr3 (3.1.5-r0) (9/27) Installing mpc1 (1.0.3-r0) (10/27) Installing gcc (6.3.0-r4) (11/27) Installing musl-dev (1.1.16-r13) (12/27) Installing libc-dev (0.7.1-r0) (13/27) Installing g++ (6.3.0-r4) (14/27) Installing make (4.2.1-r0) (15/27) Installing fortify-headers (0.8-r0) (16/27) Installing build-base (0.5-r0) (17/27) Installing libbz2 (1.0.6-r5) (18/27) Installing expat (2.2.0-r1) (19/27) Installing libffi (3.2.1-r3) (20/27) Installing gdbm (1.12-r0) (21/27) Installing ncurses-terminfo-base (6.0-r7) (22/27) Installing ncurses-terminfo (6.0-r7) (23/27) Installing ncurses-libs (6.0-r7) (24/27) Installing readline (6.3.008-r5) (25/27) Installing sqlite-libs (3.18.0-r0) (26/27) Installing python2 (2.7.13-r1) (27/27) Installing builds-deps (0) Executing busybox-1.26.2-r5.trigger OK: 206 MiB in 40 packages npm info it worked if it ends with ok npm info using npm@5.0.3 npm info using node@v8.1.3 npm http fetch GET 200 https://registry.npmjs.org/bcrypt 274ms npm http fetch GET 200 https://registry.npmjs.org/bindings 37ms npm http fetch GET 200 https://registry.npmjs.org/node-pre-gyp 85ms npm http fetch GET 200 https://registry.npmjs.org/nan 93ms npm http fetch GET 200 https://registry.npmjs.org/npmlog 50ms npm http fetch GET 200 https://registry.npmjs.org/mkdirp 53ms npm http fetch GET 200 https://registry.npmjs.org/nopt 97ms npm http fetch GET 200 https://registry.npmjs.org/semver 101ms npm http fetch GET 200 https://registry.npmjs.org/tar 103ms npm http fetch GET 200 https://registry.npmjs.org/tar-pack 105ms npm http fetch GET 200 https://registry.npmjs.org/request 115ms npm http fetch GET 200 https://registry.npmjs.org/rimraf 133ms npm http fetch GET 200 https://registry.npmjs.org/rc 145ms npm http fetch GET 200 https://registry.npmjs.org/minimist 24ms npm http fetch GET 200 https://registry.npmjs.org/abbrev 27ms npm http fetch GET 200 https://registry.npmjs.org/are-we-there-yet 31ms npm http fetch GET 200 https://registry.npmjs.org/console-control-strings 31ms npm http fetch GET 200 https://registry.npmjs.org/set-blocking 33ms npm http fetch GET 200 https://registry.npmjs.org/gauge 34ms npm http fetch GET 200 https://registry.npmjs.org/delegates 27ms npm http fetch GET 200 https://registry.npmjs.org/readable-stream 27ms npm http fetch GET 200 https://registry.npmjs.org/util-deprecate 25ms npm http fetch GET 200 https://registry.npmjs.org/process-nextick-args 47ms npm http fetch GET 200 https://registry.npmjs.org/string_decoder 47ms npm http fetch GET 200 https://registry.npmjs.org/core-util-is 50ms npm http fetch GET 200 https://registry.npmjs.org/isarray 50ms npm http fetch GET 200 https://registry.npmjs.org/inherits 51ms npm http fetch GET 200 https://registry.npmjs.org/safe-buffer 50ms npm http fetch GET 200 https://registry.npmjs.org/signal-exit 21ms npm http fetch GET 200 https://registry.npmjs.org/wide-align 35ms npm http fetch GET 200 https://registry.npmjs.org/string-width 38ms npm http fetch GET 200 https://registry.npmjs.org/has-unicode 41ms npm http fetch GET 200 https://registry.npmjs.org/object-assign 41ms npm http fetch GET 200 https://registry.npmjs.org/strip-ansi 44ms npm http fetch GET 200 https://registry.npmjs.org/aproba 45ms npm http fetch GET 200 https://registry.npmjs.org/code-point-at 45ms npm http fetch GET 200 https://registry.npmjs.org/is-fullwidth-code-point 46ms npm http fetch GET 200 https://registry.npmjs.org/number-is-nan 19ms npm http fetch GET 200 https://registry.npmjs.org/ansi-regex 21ms npm http fetch GET 200 https://registry.npmjs.org/ini 28ms npm http fetch GET 200 https://registry.npmjs.org/deep-extend 31ms npm http fetch GET 200 https://registry.npmjs.org/strip-json-comments 34ms npm http fetch GET 200 https://registry.npmjs.org/aws4 50ms npm http fetch GET 200 https://registry.npmjs.org/aws-sign2 52ms npm http fetch GET 200 https://registry.npmjs.org/combined-stream 52ms npm http fetch GET 200 https://registry.npmjs.org/caseless 53ms npm http fetch GET 200 https://registry.npmjs.org/form-data 56ms npm http fetch GET 200 https://registry.npmjs.org/extend 63ms npm http fetch GET 200 https://registry.npmjs.org/forever-agent 64ms npm http fetch GET 200 https://registry.npmjs.org/hawk 66ms npm http fetch GET 200 https://registry.npmjs.org/har-validator 72ms npm http fetch GET 200 https://registry.npmjs.org/is-typedarray 23ms npm http fetch GET 200 https://registry.npmjs.org/isstream 24ms npm http fetch GET 200 https://registry.npmjs.org/oauth-sign 38ms npm http fetch GET 200 https://registry.npmjs.org/json-stringify-safe 42ms npm http fetch GET 200 https://registry.npmjs.org/mime-types 47ms npm http fetch GET 200 https://registry.npmjs.org/qs 41ms npm http fetch GET 200 https://registry.npmjs.org/tough-cookie 50ms npm http fetch GET 200 https://registry.npmjs.org/stringstream 52ms npm http fetch GET 200 https://registry.npmjs.org/performance-now 53ms npm http fetch GET 200 https://registry.npmjs.org/tunnel-agent 47ms npm http fetch GET 200 https://registry.npmjs.org/http-signature 166ms npm http fetch GET 200 https://registry.npmjs.org/uuid 64ms npm http fetch GET 200 https://registry.npmjs.org/delayed-stream 23ms npm http fetch GET 200 https://registry.npmjs.org/asynckit 22ms npm http fetch GET 200 https://registry.npmjs.org/mime-db 63ms npm http fetch GET 200 https://registry.npmjs.org/har-schema 29ms npm http fetch GET 200 https://registry.npmjs.org/ajv 32ms npm http fetch GET 200 https://registry.npmjs.org/json-stable-stringify 22ms npm http fetch GET 200 https://registry.npmjs.org/co 24ms npm http fetch GET 200 https://registry.npmjs.org/jsonify 20ms npm http fetch GET 200 https://registry.npmjs.org/sntp 25ms npm http fetch GET 200 https://registry.npmjs.org/hoek 27ms npm http fetch GET 200 https://registry.npmjs.org/cryptiles 33ms npm http fetch GET 200 https://registry.npmjs.org/boom 37ms npm http fetch GET 200 https://registry.npmjs.org/assert-plus 30ms npm http fetch GET 200 https://registry.npmjs.org/sshpk 32ms npm http fetch GET 200 https://registry.npmjs.org/jsprim 33ms npm http fetch GET 200 https://registry.npmjs.org/extsprintf 32ms npm http fetch GET 200 https://registry.npmjs.org/json-schema 34ms npm http fetch GET 200 https://registry.npmjs.org/verror 33ms npm http fetch GET 200 https://registry.npmjs.org/dashdash 38ms npm http fetch GET 200 https://registry.npmjs.org/asn1 40ms npm http fetch GET 200 https://registry.npmjs.org/tweetnacl 39ms npm http fetch GET 200 https://registry.npmjs.org/bcrypt-pbkdf 42ms npm http fetch GET 200 https://registry.npmjs.org/jsbn 43ms npm http fetch GET 200 https://registry.npmjs.org/getpass 44ms npm http fetch GET 200 https://registry.npmjs.org/ecc-jsbn 45ms npm http fetch GET 200 https://registry.npmjs.org/punycode 21ms npm http fetch GET 200 https://registry.npmjs.org/glob 36ms npm http fetch GET 200 https://registry.npmjs.org/path-is-absolute 28ms npm http fetch GET 200 https://registry.npmjs.org/once 29ms npm http fetch GET 200 https://registry.npmjs.org/fs.realpath 30ms npm http fetch GET 200 https://registry.npmjs.org/minimatch 31ms npm http fetch GET 200 https://registry.npmjs.org/inflight 33ms npm http fetch GET 200 https://registry.npmjs.org/wrappy 20ms npm http fetch GET 200 https://registry.npmjs.org/brace-expansion 25ms npm http fetch GET 200 https://registry.npmjs.org/balanced-match 24ms npm http fetch GET 200 https://registry.npmjs.org/concat-map 26ms npm http fetch GET 200 https://registry.npmjs.org/block-stream 22ms npm http fetch GET 200 https://registry.npmjs.org/fstream 23ms npm http fetch GET 200 https://registry.npmjs.org/graceful-fs 19ms npm http fetch GET 200 https://registry.npmjs.org/fstream-ignore 30ms npm http fetch GET 200 https://registry.npmjs.org/uid-number 30ms npm http fetch GET 200 https://registry.npmjs.org/debug 33ms npm http fetch GET 200 https://registry.npmjs.org/ms 19ms npm http fetch GET 200 https://registry.npmjs.org/buffer-shims 18ms npm http fetch GET 200 https://registry.npmjs.org/aproba/-/aproba-1.1.2.tgz 276ms npm http fetch GET 200 https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz 276ms npm http fetch GET 200 https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.2.tgz 279ms npm http fetch GET 200 https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz 280ms npm http fetch GET 200 https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz 297ms npm http fetch GET 200 https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz 294ms npm http fetch GET 200 https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz 291ms npm http fetch GET 200 https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz 332ms npm http fetch GET 200 https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz 333ms npm http fetch GET 200 https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz 332ms npm http fetch GET 200 https://registry.npmjs.org/abbrev/-/abbrev-1.1.0.tgz 337ms npm http fetch GET 200 https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz 336ms npm http fetch GET 200 https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz 337ms npm http fetch GET 200 https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz 339ms npm http fetch GET 200 https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz 341ms npm http fetch GET 200 https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz 341ms npm http fetch GET 200 https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz 344ms npm http fetch GET 200 https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz 345ms npm http fetch GET 200 https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz 356ms npm http fetch GET 200 https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz 356ms npm http fetch GET 200 https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz 356ms npm http fetch GET 200 https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz 358ms npm http fetch GET 200 https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz 360ms npm http fetch GET 200 https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz 357ms npm http fetch GET 200 https://registry.npmjs.org/extend/-/extend-3.0.1.tgz 364ms npm http fetch GET 200 https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz 374ms npm http fetch GET 200 https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz 380ms npm http fetch GET 200 https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz 384ms npm http fetch GET 200 https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz 394ms npm http fetch GET 200 https://registry.npmjs.org/co/-/co-4.6.0.tgz 398ms npm http fetch GET 200 https://registry.npmjs.org/boom/-/boom-2.10.1.tgz 395ms npm http fetch GET 200 https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz 398ms npm http fetch GET 200 https://registry.npmjs.org/ini/-/ini-1.3.4.tgz 402ms npm http fetch GET 200 https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz 405ms npm http fetch GET 200 https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz 410ms npm http fetch GET 200 https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz 409ms npm http fetch GET 200 https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz 409ms npm http fetch GET 200 https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz 410ms npm http fetch GET 200 https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz 419ms npm http fetch GET 200 https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz 420ms npm http fetch GET 200 https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz 429ms npm http fetch GET 200 https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz 422ms npm http fetch GET 200 https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz 424ms npm http fetch GET 200 https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz 436ms npm http fetch GET 200 https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz 427ms npm http fetch GET 200 https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz 428ms npm http fetch GET 200 https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz 432ms npm http fetch GET 200 https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz 433ms npm http fetch GET 200 https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz 439ms npm http fetch GET 200 https://registry.npmjs.org/bindings/-/bindings-1.2.1.tgz 156ms npm http fetch GET 200 https://registry.npmjs.org/bcrypt/-/bcrypt-1.0.2.tgz 176ms npm http fetch GET 200 https://registry.npmjs.org/nan/-/nan-2.5.0.tgz 176ms npm http fetch GET 200 https://registry.npmjs.org/fstream-ignore/-/fstream-ignore-1.0.5.tgz 154ms npm http fetch GET 200 https://registry.npmjs.org/tar-pack/-/tar-pack-3.3.0.tgz 176ms npm http fetch GET 200 https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.6.32.tgz 196ms npm http fetch GET 200 https://registry.npmjs.org/rimraf/-/rimraf-2.5.4.tgz 153ms npm http fetch GET 200 https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz 146ms npm http fetch GET 200 https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz 138ms npm http fetch GET 200 https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz 155ms npm http fetch GET 200 https://registry.npmjs.org/glob/-/glob-7.1.2.tgz 169ms npm http fetch GET 200 https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz 165ms npm http fetch GET 200 https://registry.npmjs.org/once/-/once-1.3.3.tgz 213ms npm http fetch GET 200 https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz 185ms npm http fetch GET 200 https://registry.npmjs.org/once/-/once-1.4.0.tgz 166ms npm http fetch GET 200 https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz 146ms npm http fetch GET 200 https://registry.npmjs.org/wide-align/-/wide-align-1.1.2.tgz 166ms npm http fetch GET 200 https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz 129ms npm http fetch GET 200 https://registry.npmjs.org/jsprim/-/jsprim-1.4.0.tgz 131ms npm http fetch GET 200 https://registry.npmjs.org/tar/-/tar-2.2.1.tgz 212ms npm http fetch GET 200 https://registry.npmjs.org/request/-/request-2.81.0.tgz 171ms npm http fetch GET 200 https://registry.npmjs.org/verror/-/verror-1.3.6.tgz 141ms npm http fetch GET 200 https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz 137ms npm http fetch GET 200 https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz 145ms npm http fetch GET 200 https://registry.npmjs.org/uid-number/-/uid-number-0.0.6.tgz 123ms npm http fetch GET 200 https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz 123ms npm http fetch GET 200 https://registry.npmjs.org/readable-stream/-/readable-stream-2.1.5.tgz 157ms npm http fetch GET 200 https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz 126ms npm http fetch GET 200 https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz 103ms npm http fetch GET 200 https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz 161ms npm http fetch GET 200 https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz 178ms npm http fetch GET 200 https://registry.npmjs.org/rc/-/rc-1.1.7.tgz 153ms npm http fetch GET 200 https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz 165ms npm http fetch GET 200 https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz 151ms npm http fetch GET 200 https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz 139ms npm http fetch GET 200 https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz 152ms npm http fetch GET 200 https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.2.tgz 185ms npm http fetch GET 200 https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz 168ms npm http fetch GET 200 https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz 122ms npm http fetch GET 200 https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz 97ms npm http fetch GET 200 https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz 91ms npm http fetch GET 200 https://registry.npmjs.org/semver/-/semver-5.3.0.tgz 102ms npm http fetch GET 200 https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz 103ms npm http fetch GET 200 https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz 106ms npm http fetch GET 200 https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz 102ms npm http fetch GET 200 https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz 76ms npm http fetch GET 200 https://registry.npmjs.org/qs/-/qs-6.4.0.tgz 118ms npm http fetch GET 200 https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz 85ms npm http fetch GET 200 https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz 71ms npm http fetch GET 200 https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz 75ms npm http fetch GET 200 https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz 73ms npm http fetch GET 200 https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz 87ms npm http fetch GET 200 https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz 81ms npm http fetch GET 200 https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz 91ms npm http fetch GET 200 https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz 74ms npm http fetch GET 200 https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz 87ms npm http fetch GET 200 https://registry.npmjs.org/debug/-/debug-2.2.0.tgz 84ms npm http fetch GET 200 https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz 86ms npm http fetch GET 200 https://registry.npmjs.org/ms/-/ms-0.7.1.tgz 111ms npm http fetch GET 200 https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz 97ms npm http fetch GET 200 https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz 74ms npm http fetch GET 200 https://registry.npmjs.org/mime-types/-/mime-types-2.1.15.tgz 67ms npm http fetch GET 200 https://registry.npmjs.org/mime-db/-/mime-db-1.27.0.tgz 60ms npm http fetch GET 200 https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz 324ms npm http fetch GET 200 https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz 1200ms npm info lifecycle bcrypt@1.0.2~preinstall: bcrypt@1.0.2 npm info lifecycle node-pre-gyp@0.6.32~preinstall: node-pre-gyp@0.6.32 npm info lifecycle nan@2.5.0~preinstall: nan@2.5.0 npm info lifecycle bindings@1.2.1~preinstall: bindings@1.2.1 npm info lifecycle tar-pack@3.3.0~preinstall: tar-pack@3.3.0 npm info lifecycle once@1.3.3~preinstall: once@1.3.3 npm info lifecycle tar@2.2.1~preinstall: tar@2.2.1 npm info lifecycle fstream-ignore@1.0.5~preinstall: fstream-ignore@1.0.5 npm info lifecycle fstream@1.0.11~preinstall: fstream@1.0.11 npm info lifecycle rimraf@2.5.4~preinstall: rimraf@2.5.4 npm info lifecycle glob@7.1.2~preinstall: glob@7.1.2 npm info lifecycle inflight@1.0.6~preinstall: inflight@1.0.6 npm info lifecycle once@1.4.0~preinstall: once@1.4.0 npm info lifecycle wrappy@1.0.2~preinstall: wrappy@1.0.2 npm info lifecycle npmlog@4.1.2~preinstall: npmlog@4.1.2 npm info lifecycle gauge@2.7.4~preinstall: gauge@2.7.4 npm info lifecycle wide-align@1.1.2~preinstall: wide-align@1.1.2 npm info lifecycle request@2.81.0~preinstall: request@2.81.0 npm info lifecycle http-signature@1.1.1~preinstall: http-signature@1.1.1 npm info lifecycle jsprim@1.4.0~preinstall: jsprim@1.4.0 npm info lifecycle verror@1.3.6~preinstall: verror@1.3.6 npm info lifecycle uuid@3.1.0~preinstall: uuid@3.1.0 npm info lifecycle readable-stream@2.1.5~preinstall: readable-stream@2.1.5 npm info lifecycle are-we-there-yet@1.1.4~preinstall: are-we-there-yet@1.1.4 npm info lifecycle readable-stream@2.3.3~preinstall: readable-stream@2.3.3 npm info lifecycle util-deprecate@1.0.2~preinstall: util-deprecate@1.0.2 npm info lifecycle uid-number@0.0.6~preinstall: uid-number@0.0.6 npm info lifecycle sshpk@1.13.1~preinstall: sshpk@1.13.1 npm info lifecycle bcrypt-pbkdf@1.0.1~preinstall: bcrypt-pbkdf@1.0.1 npm info lifecycle tweetnacl@0.14.5~preinstall: tweetnacl@0.14.5 npm info lifecycle tunnel-agent@0.6.0~preinstall: tunnel-agent@0.6.0 npm info lifecycle tough-cookie@2.3.2~preinstall: tough-cookie@2.3.2 npm info lifecycle string_decoder@0.10.31~preinstall: string_decoder@0.10.31 npm info lifecycle rc@1.1.7~preinstall: rc@1.1.7 npm info lifecycle strip-json-comments@2.0.1~preinstall: strip-json-comments@2.0.1 npm info lifecycle string-width@1.0.2~preinstall: string-width@1.0.2 npm info lifecycle strip-ansi@3.0.1~preinstall: strip-ansi@3.0.1 npm info lifecycle stringstream@0.0.5~preinstall: stringstream@0.0.5 npm info lifecycle string_decoder@1.0.3~preinstall: string_decoder@1.0.3 npm info lifecycle assert-plus@1.0.0~preinstall: assert-plus@1.0.0 npm info lifecycle hawk@3.1.3~preinstall: hawk@3.1.3 npm info lifecycle sntp@1.0.9~preinstall: sntp@1.0.9 npm info lifecycle signal-exit@3.0.2~preinstall: signal-exit@3.0.2 npm info lifecycle set-blocking@2.0.0~preinstall: set-blocking@2.0.0 npm info lifecycle semver@5.3.0~preinstall: semver@5.3.0 npm info lifecycle safe-buffer@5.1.1~preinstall: safe-buffer@5.1.1 npm info lifecycle minimist@1.2.0~preinstall: minimist@1.2.0 npm info lifecycle qs@6.4.0~preinstall: qs@6.4.0 npm info lifecycle punycode@1.4.1~preinstall: punycode@1.4.1 npm info lifecycle process-nextick-args@1.0.7~preinstall: process-nextick-args@1.0.7 npm info lifecycle abbrev@1.1.0~preinstall: abbrev@1.1.0 npm info lifecycle ansi-regex@2.1.1~preinstall: ansi-regex@2.1.1 npm info lifecycle aproba@1.1.2~preinstall: aproba@1.1.2 npm info lifecycle asn1@0.2.3~preinstall: asn1@0.2.3 npm info lifecycle assert-plus@0.2.0~preinstall: assert-plus@0.2.0 npm info lifecycle asynckit@0.4.0~preinstall: asynckit@0.4.0 npm info lifecycle aws-sign2@0.6.0~preinstall: aws-sign2@0.6.0 npm info lifecycle aws4@1.6.0~preinstall: aws4@1.6.0 npm info lifecycle balanced-match@1.0.0~preinstall: balanced-match@1.0.0 npm info lifecycle buffer-shims@1.0.0~preinstall: buffer-shims@1.0.0 npm info lifecycle caseless@0.12.0~preinstall: caseless@0.12.0 npm info lifecycle co@4.6.0~preinstall: co@4.6.0 npm info lifecycle code-point-at@1.1.0~preinstall: code-point-at@1.1.0 npm info lifecycle concat-map@0.0.1~preinstall: concat-map@0.0.1 npm info lifecycle brace-expansion@1.1.8~preinstall: brace-expansion@1.1.8 npm info lifecycle console-control-strings@1.1.0~preinstall: console-control-strings@1.1.0 npm info lifecycle core-util-is@1.0.2~preinstall: core-util-is@1.0.2 npm info lifecycle assert-plus@1.0.0~preinstall: assert-plus@1.0.0 npm info lifecycle dashdash@1.14.1~preinstall: dashdash@1.14.1 npm info lifecycle deep-extend@0.4.2~preinstall: deep-extend@0.4.2 npm info lifecycle delayed-stream@1.0.0~preinstall: delayed-stream@1.0.0 npm info lifecycle combined-stream@1.0.5~preinstall: combined-stream@1.0.5 npm info lifecycle delegates@1.0.0~preinstall: delegates@1.0.0 npm info lifecycle extend@3.0.1~preinstall: extend@3.0.1 npm info lifecycle extsprintf@1.0.2~preinstall: extsprintf@1.0.2 npm info lifecycle forever-agent@0.6.1~preinstall: forever-agent@0.6.1 npm info lifecycle fs.realpath@1.0.0~preinstall: fs.realpath@1.0.0 npm info lifecycle assert-plus@1.0.0~preinstall: assert-plus@1.0.0 npm info lifecycle getpass@0.1.7~preinstall: getpass@0.1.7 npm info lifecycle graceful-fs@4.1.11~preinstall: graceful-fs@4.1.11 npm info lifecycle har-schema@1.0.5~preinstall: har-schema@1.0.5 npm info lifecycle has-unicode@2.0.1~preinstall: has-unicode@2.0.1 npm info lifecycle hoek@2.16.3~preinstall: hoek@2.16.3 npm info lifecycle boom@2.10.1~preinstall: boom@2.10.1 npm info lifecycle cryptiles@2.0.5~preinstall: cryptiles@2.0.5 npm info lifecycle inherits@2.0.3~preinstall: inherits@2.0.3 npm info lifecycle block-stream@0.0.9~preinstall: block-stream@0.0.9 npm info lifecycle ini@1.3.4~preinstall: ini@1.3.4 npm info lifecycle is-typedarray@1.0.0~preinstall: is-typedarray@1.0.0 npm info lifecycle isarray@1.0.0~preinstall: isarray@1.0.0 npm info lifecycle isstream@0.1.2~preinstall: isstream@0.1.2 npm info lifecycle jsbn@0.1.1~preinstall: jsbn@0.1.1 npm info lifecycle ecc-jsbn@0.1.1~preinstall: ecc-jsbn@0.1.1 npm info lifecycle json-schema@0.2.3~preinstall: json-schema@0.2.3 npm info lifecycle json-stringify-safe@5.0.1~preinstall: json-stringify-safe@5.0.1 npm info lifecycle jsonify@0.0.0~preinstall: jsonify@0.0.0 npm info lifecycle json-stable-stringify@1.0.1~preinstall: json-stable-stringify@1.0.1 npm info lifecycle ajv@4.11.8~preinstall: ajv@4.11.8 npm info lifecycle har-validator@4.2.1~preinstall: har-validator@4.2.1 npm info lifecycle assert-plus@1.0.0~preinstall: assert-plus@1.0.0 npm info lifecycle mime-db@1.27.0~preinstall: mime-db@1.27.0 npm info lifecycle mime-types@2.1.15~preinstall: mime-types@2.1.15 npm info lifecycle form-data@2.1.4~preinstall: form-data@2.1.4 npm info lifecycle minimatch@3.0.4~preinstall: minimatch@3.0.4 npm info lifecycle minimist@0.0.8~preinstall: minimist@0.0.8 npm info lifecycle mkdirp@0.5.1~preinstall: mkdirp@0.5.1 npm info lifecycle ms@0.7.1~preinstall: ms@0.7.1 npm info lifecycle debug@2.2.0~preinstall: debug@2.2.0 npm info lifecycle nopt@3.0.6~preinstall: nopt@3.0.6 npm info lifecycle number-is-nan@1.0.1~preinstall: number-is-nan@1.0.1 npm info lifecycle is-fullwidth-code-point@1.0.0~preinstall: is-fullwidth-code-point@1.0.0 npm info lifecycle oauth-sign@0.8.2~preinstall: oauth-sign@0.8.2 npm info lifecycle object-assign@4.1.1~preinstall: object-assign@4.1.1 npm info lifecycle path-is-absolute@1.0.1~preinstall: path-is-absolute@1.0.1 npm info lifecycle performance-now@0.2.0~preinstall: performance-now@0.2.0 npm info linkStuff bcrypt@1.0.2 npm info linkStuff node-pre-gyp@0.6.32 npm info linkStuff nan@2.5.0 npm info linkStuff bindings@1.2.1 npm info linkStuff tar-pack@3.3.0 npm info linkStuff once@1.3.3 npm info linkStuff tar@2.2.1 npm info linkStuff fstream-ignore@1.0.5 npm info linkStuff fstream@1.0.11 npm info linkStuff rimraf@2.5.4 npm info linkStuff glob@7.1.2 npm info linkStuff inflight@1.0.6 npm info linkStuff once@1.4.0 npm info linkStuff wrappy@1.0.2 npm info linkStuff npmlog@4.1.2 npm info linkStuff gauge@2.7.4 npm info linkStuff wide-align@1.1.2 npm info linkStuff request@2.81.0 npm info linkStuff http-signature@1.1.1 npm info linkStuff jsprim@1.4.0 npm info linkStuff verror@1.3.6 npm info linkStuff uuid@3.1.0 npm info linkStuff readable-stream@2.1.5 npm info linkStuff are-we-there-yet@1.1.4 npm info linkStuff readable-stream@2.3.3 npm info linkStuff util-deprecate@1.0.2 npm info linkStuff uid-number@0.0.6 npm info linkStuff sshpk@1.13.1 npm info linkStuff bcrypt-pbkdf@1.0.1 npm info linkStuff tweetnacl@0.14.5 npm info linkStuff tunnel-agent@0.6.0 npm info linkStuff tough-cookie@2.3.2 npm info linkStuff string_decoder@0.10.31 npm info linkStuff rc@1.1.7 npm info linkStuff strip-json-comments@2.0.1 npm info linkStuff string-width@1.0.2 npm info linkStuff strip-ansi@3.0.1 npm info linkStuff stringstream@0.0.5 npm info linkStuff string_decoder@1.0.3 npm info linkStuff assert-plus@1.0.0 npm info linkStuff hawk@3.1.3 npm info linkStuff sntp@1.0.9 npm info linkStuff signal-exit@3.0.2 npm info linkStuff set-blocking@2.0.0 npm info linkStuff semver@5.3.0 npm info linkStuff safe-buffer@5.1.1 npm info linkStuff minimist@1.2.0 npm info linkStuff qs@6.4.0 npm info linkStuff punycode@1.4.1 npm info linkStuff process-nextick-args@1.0.7 npm info linkStuff performance-now@0.2.0 npm info linkStuff path-is-absolute@1.0.1 npm info linkStuff object-assign@4.1.1 npm info linkStuff oauth-sign@0.8.2 npm info linkStuff is-fullwidth-code-point@1.0.0 npm info linkStuff number-is-nan@1.0.1 npm info linkStuff nopt@3.0.6 npm info linkStuff debug@2.2.0 npm info linkStuff ms@0.7.1 npm info linkStuff mkdirp@0.5.1 npm info linkStuff minimist@0.0.8 npm info linkStuff minimatch@3.0.4 npm info linkStuff form-data@2.1.4 npm info linkStuff mime-types@2.1.15 npm info linkStuff mime-db@1.27.0 npm info linkStuff assert-plus@1.0.0 npm info linkStuff har-validator@4.2.1 npm info linkStuff ajv@4.11.8 npm info linkStuff json-stable-stringify@1.0.1 npm info linkStuff jsonify@0.0.0 npm info linkStuff json-stringify-safe@5.0.1 npm info linkStuff json-schema@0.2.3 npm info linkStuff ecc-jsbn@0.1.1 npm info linkStuff jsbn@0.1.1 npm info linkStuff isstream@0.1.2 npm info linkStuff isarray@1.0.0 npm info linkStuff is-typedarray@1.0.0 npm info linkStuff ini@1.3.4 npm info linkStuff block-stream@0.0.9 npm info linkStuff inherits@2.0.3 npm info linkStuff cryptiles@2.0.5 npm info linkStuff boom@2.10.1 npm info linkStuff hoek@2.16.3 npm info linkStuff has-unicode@2.0.1 npm info linkStuff har-schema@1.0.5 npm info linkStuff graceful-fs@4.1.11 npm info linkStuff getpass@0.1.7 npm info linkStuff assert-plus@1.0.0 npm info linkStuff fs.realpath@1.0.0 npm info linkStuff forever-agent@0.6.1 npm info linkStuff extsprintf@1.0.2 npm info linkStuff extend@3.0.1 npm info linkStuff delegates@1.0.0 npm info linkStuff combined-stream@1.0.5 npm info linkStuff delayed-stream@1.0.0 npm info linkStuff deep-extend@0.4.2 npm info linkStuff dashdash@1.14.1 npm info linkStuff assert-plus@1.0.0 npm info linkStuff core-util-is@1.0.2 npm info linkStuff console-control-strings@1.1.0 npm info linkStuff brace-expansion@1.1.8 npm info linkStuff concat-map@0.0.1 npm info linkStuff code-point-at@1.1.0 npm info linkStuff co@4.6.0 npm info linkStuff caseless@0.12.0 npm info linkStuff buffer-shims@1.0.0 npm info linkStuff balanced-match@1.0.0 npm info linkStuff aws4@1.6.0 npm info linkStuff aws-sign2@0.6.0 npm info linkStuff asynckit@0.4.0 npm info linkStuff assert-plus@0.2.0 npm info linkStuff asn1@0.2.3 npm info linkStuff aproba@1.1.2 npm info linkStuff ansi-regex@2.1.1 npm info linkStuff abbrev@1.1.0 npm info lifecycle bcrypt@1.0.2~install: bcrypt@1.0.2 > bcrypt@1.0.2 install /node_modules/bcrypt > node-pre-gyp install --fallback-to-build node-pre-gyp info it worked if it ends with ok node-pre-gyp info using node-pre-gyp@0.6.32 node-pre-gyp info using node@8.1.3 | linux | x64 node-pre-gyp info check checked for "/node_modules/bcrypt/lib/binding/bcrypt_lib.node" (not found) node-pre-gyp http GET https://github.com/kelektiv/node.bcrypt.js/releases/download/v1.0.2/bcrypt_lib-v1.0.2-node-v57-linux-x64.tar.gz node-pre-gyp http 200 https://github.com/kelektiv/node.bcrypt.js/releases/download/v1.0.2/bcrypt_lib-v1.0.2-node-v57-linux-x64.tar.gz node-pre-gyp info install unpacking bcrypt_lib.node node-pre-gyp info tarball done parsing tarball node-pre-gyp info validate Running test command: '/usr/local/bin/node --eval 'require(\'/node_modules/bcrypt/lib/binding/bcrypt_lib.node\')'' [bcrypt] Success: "/node_modules/bcrypt/lib/binding/bcrypt_lib.node" is installed via remote node-pre-gyp info ok npm info lifecycle node-pre-gyp@0.6.32~install: node-pre-gyp@0.6.32 npm info lifecycle nan@2.5.0~install: nan@2.5.0 npm info lifecycle bindings@1.2.1~install: bindings@1.2.1 npm info lifecycle tar-pack@3.3.0~install: tar-pack@3.3.0 npm info lifecycle once@1.3.3~install: once@1.3.3 npm info lifecycle tar@2.2.1~install: tar@2.2.1 npm info lifecycle fstream-ignore@1.0.5~install: fstream-ignore@1.0.5 npm info lifecycle fstream@1.0.11~install: fstream@1.0.11 npm info lifecycle rimraf@2.5.4~install: rimraf@2.5.4 npm info lifecycle glob@7.1.2~install: glob@7.1.2 npm info lifecycle inflight@1.0.6~install: inflight@1.0.6 npm info lifecycle once@1.4.0~install: once@1.4.0 npm info lifecycle wrappy@1.0.2~install: wrappy@1.0.2 npm info lifecycle npmlog@4.1.2~install: npmlog@4.1.2 npm info lifecycle gauge@2.7.4~install: gauge@2.7.4 npm info lifecycle wide-align@1.1.2~install: wide-align@1.1.2 npm info lifecycle request@2.81.0~install: request@2.81.0 npm info lifecycle http-signature@1.1.1~install: http-signature@1.1.1 npm info lifecycle jsprim@1.4.0~install: jsprim@1.4.0 npm info lifecycle verror@1.3.6~install: verror@1.3.6 npm info lifecycle uuid@3.1.0~install: uuid@3.1.0 npm info lifecycle readable-stream@2.1.5~install: readable-stream@2.1.5 npm info lifecycle are-we-there-yet@1.1.4~install: are-we-there-yet@1.1.4 npm info lifecycle readable-stream@2.3.3~install: readable-stream@2.3.3 npm info lifecycle util-deprecate@1.0.2~install: util-deprecate@1.0.2 npm info lifecycle uid-number@0.0.6~install: uid-number@0.0.6 npm info lifecycle sshpk@1.13.1~install: sshpk@1.13.1 npm info lifecycle bcrypt-pbkdf@1.0.1~install: bcrypt-pbkdf@1.0.1 npm info lifecycle tweetnacl@0.14.5~install: tweetnacl@0.14.5 npm info lifecycle tunnel-agent@0.6.0~install: tunnel-agent@0.6.0 npm info lifecycle tough-cookie@2.3.2~install: tough-cookie@2.3.2 npm info lifecycle string_decoder@0.10.31~install: string_decoder@0.10.31 npm info lifecycle rc@1.1.7~install: rc@1.1.7 npm info lifecycle strip-json-comments@2.0.1~install: strip-json-comments@2.0.1 npm info lifecycle string-width@1.0.2~install: string-width@1.0.2 npm info lifecycle strip-ansi@3.0.1~install: strip-ansi@3.0.1 npm info lifecycle stringstream@0.0.5~install: stringstream@0.0.5 npm info lifecycle string_decoder@1.0.3~install: string_decoder@1.0.3 npm info lifecycle assert-plus@1.0.0~install: assert-plus@1.0.0 npm info lifecycle hawk@3.1.3~install: hawk@3.1.3 npm info lifecycle sntp@1.0.9~install: sntp@1.0.9 npm info lifecycle signal-exit@3.0.2~install: signal-exit@3.0.2 npm info lifecycle set-blocking@2.0.0~install: set-blocking@2.0.0 npm info lifecycle semver@5.3.0~install: semver@5.3.0 npm info lifecycle safe-buffer@5.1.1~install: safe-buffer@5.1.1 npm info lifecycle minimist@1.2.0~install: minimist@1.2.0 npm info lifecycle qs@6.4.0~install: qs@6.4.0 npm info lifecycle punycode@1.4.1~install: punycode@1.4.1 npm info lifecycle process-nextick-args@1.0.7~install: process-nextick-args@1.0.7 npm info lifecycle performance-now@0.2.0~install: performance-now@0.2.0 npm info lifecycle path-is-absolute@1.0.1~install: path-is-absolute@1.0.1 npm info lifecycle object-assign@4.1.1~install: object-assign@4.1.1 npm info lifecycle oauth-sign@0.8.2~install: oauth-sign@0.8.2 npm info lifecycle is-fullwidth-code-point@1.0.0~install: is-fullwidth-code-point@1.0.0 npm info lifecycle number-is-nan@1.0.1~install: number-is-nan@1.0.1 npm info lifecycle nopt@3.0.6~install: nopt@3.0.6 npm info lifecycle debug@2.2.0~install: debug@2.2.0 npm info lifecycle ms@0.7.1~install: ms@0.7.1 npm info lifecycle mkdirp@0.5.1~install: mkdirp@0.5.1 npm info lifecycle minimist@0.0.8~install: minimist@0.0.8 npm info lifecycle minimatch@3.0.4~install: minimatch@3.0.4 npm info lifecycle form-data@2.1.4~install: form-data@2.1.4 npm info lifecycle mime-types@2.1.15~install: mime-types@2.1.15 npm info lifecycle mime-db@1.27.0~install: mime-db@1.27.0 npm info lifecycle assert-plus@1.0.0~install: assert-plus@1.0.0 npm info lifecycle har-validator@4.2.1~install: har-validator@4.2.1 npm info lifecycle ajv@4.11.8~install: ajv@4.11.8 npm info lifecycle json-stable-stringify@1.0.1~install: json-stable-stringify@1.0.1 npm info lifecycle jsonify@0.0.0~install: jsonify@0.0.0 npm info lifecycle json-stringify-safe@5.0.1~install: json-stringify-safe@5.0.1 npm info lifecycle json-schema@0.2.3~install: json-schema@0.2.3 npm info lifecycle ecc-jsbn@0.1.1~install: ecc-jsbn@0.1.1 npm info lifecycle jsbn@0.1.1~install: jsbn@0.1.1 npm info lifecycle isstream@0.1.2~install: isstream@0.1.2 npm info lifecycle isarray@1.0.0~install: isarray@1.0.0 npm info lifecycle is-typedarray@1.0.0~install: is-typedarray@1.0.0 npm info lifecycle ini@1.3.4~install: ini@1.3.4 npm info lifecycle block-stream@0.0.9~install: block-stream@0.0.9 npm info lifecycle inherits@2.0.3~install: inherits@2.0.3 npm info lifecycle cryptiles@2.0.5~install: cryptiles@2.0.5 npm info lifecycle boom@2.10.1~install: boom@2.10.1 npm info lifecycle hoek@2.16.3~install: hoek@2.16.3 npm info lifecycle has-unicode@2.0.1~install: has-unicode@2.0.1 npm info lifecycle har-schema@1.0.5~install: har-schema@1.0.5 npm info lifecycle graceful-fs@4.1.11~install: graceful-fs@4.1.11 npm info lifecycle getpass@0.1.7~install: getpass@0.1.7 npm info lifecycle assert-plus@1.0.0~install: assert-plus@1.0.0 npm info lifecycle fs.realpath@1.0.0~install: fs.realpath@1.0.0 npm info lifecycle forever-agent@0.6.1~install: forever-agent@0.6.1 npm info lifecycle extsprintf@1.0.2~install: extsprintf@1.0.2 npm info lifecycle extend@3.0.1~install: extend@3.0.1 npm info lifecycle delegates@1.0.0~install: delegates@1.0.0 npm info lifecycle combined-stream@1.0.5~install: combined-stream@1.0.5 npm info lifecycle delayed-stream@1.0.0~install: delayed-stream@1.0.0 npm info lifecycle deep-extend@0.4.2~install: deep-extend@0.4.2 npm info lifecycle dashdash@1.14.1~install: dashdash@1.14.1 npm info lifecycle assert-plus@1.0.0~install: assert-plus@1.0.0 npm info lifecycle core-util-is@1.0.2~install: core-util-is@1.0.2 npm info lifecycle console-control-strings@1.1.0~install: console-control-strings@1.1.0 npm info lifecycle brace-expansion@1.1.8~install: brace-expansion@1.1.8 npm info lifecycle concat-map@0.0.1~install: concat-map@0.0.1 npm info lifecycle code-point-at@1.1.0~install: code-point-at@1.1.0 npm info lifecycle co@4.6.0~install: co@4.6.0 npm info lifecycle caseless@0.12.0~install: caseless@0.12.0 npm info lifecycle buffer-shims@1.0.0~install: buffer-shims@1.0.0 npm info lifecycle balanced-match@1.0.0~install: balanced-match@1.0.0 npm info lifecycle aws4@1.6.0~install: aws4@1.6.0 npm info lifecycle aws-sign2@0.6.0~install: aws-sign2@0.6.0 npm info lifecycle asynckit@0.4.0~install: asynckit@0.4.0 npm info lifecycle assert-plus@0.2.0~install: assert-plus@0.2.0 npm info lifecycle asn1@0.2.3~install: asn1@0.2.3 npm info lifecycle aproba@1.1.2~install: aproba@1.1.2 npm info lifecycle ansi-regex@2.1.1~install: ansi-regex@2.1.1 npm info lifecycle abbrev@1.1.0~install: abbrev@1.1.0 npm info lifecycle bcrypt@1.0.2~postinstall: bcrypt@1.0.2 npm info lifecycle node-pre-gyp@0.6.32~postinstall: node-pre-gyp@0.6.32 npm info lifecycle nan@2.5.0~postinstall: nan@2.5.0 npm info lifecycle bindings@1.2.1~postinstall: bindings@1.2.1 npm info lifecycle tar-pack@3.3.0~postinstall: tar-pack@3.3.0 npm info lifecycle once@1.3.3~postinstall: once@1.3.3 npm info lifecycle tar@2.2.1~postinstall: tar@2.2.1 npm info lifecycle fstream-ignore@1.0.5~postinstall: fstream-ignore@1.0.5 npm info lifecycle fstream@1.0.11~postinstall: fstream@1.0.11 npm info lifecycle rimraf@2.5.4~postinstall: rimraf@2.5.4 npm info lifecycle glob@7.1.2~postinstall: glob@7.1.2 npm info lifecycle inflight@1.0.6~postinstall: inflight@1.0.6 npm info lifecycle once@1.4.0~postinstall: once@1.4.0 npm info lifecycle wrappy@1.0.2~postinstall: wrappy@1.0.2 npm info lifecycle npmlog@4.1.2~postinstall: npmlog@4.1.2 npm info lifecycle gauge@2.7.4~postinstall: gauge@2.7.4 npm info lifecycle wide-align@1.1.2~postinstall: wide-align@1.1.2 npm info lifecycle request@2.81.0~postinstall: request@2.81.0 npm info lifecycle http-signature@1.1.1~postinstall: http-signature@1.1.1 npm info lifecycle jsprim@1.4.0~postinstall: jsprim@1.4.0 npm info lifecycle verror@1.3.6~postinstall: verror@1.3.6 npm info lifecycle uuid@3.1.0~postinstall: uuid@3.1.0 npm info lifecycle readable-stream@2.1.5~postinstall: readable-stream@2.1.5 npm info lifecycle are-we-there-yet@1.1.4~postinstall: are-we-there-yet@1.1.4 npm info lifecycle readable-stream@2.3.3~postinstall: readable-stream@2.3.3 npm info lifecycle util-deprecate@1.0.2~postinstall: util-deprecate@1.0.2 npm info lifecycle uid-number@0.0.6~postinstall: uid-number@0.0.6 npm info lifecycle sshpk@1.13.1~postinstall: sshpk@1.13.1 npm info lifecycle bcrypt-pbkdf@1.0.1~postinstall: bcrypt-pbkdf@1.0.1 npm info lifecycle tweetnacl@0.14.5~postinstall: tweetnacl@0.14.5 npm info lifecycle tunnel-agent@0.6.0~postinstall: tunnel-agent@0.6.0 npm info lifecycle tough-cookie@2.3.2~postinstall: tough-cookie@2.3.2 npm info lifecycle string_decoder@0.10.31~postinstall: string_decoder@0.10.31 npm info lifecycle rc@1.1.7~postinstall: rc@1.1.7 npm info lifecycle strip-json-comments@2.0.1~postinstall: strip-json-comments@2.0.1 npm info lifecycle string-width@1.0.2~postinstall: string-width@1.0.2 npm info lifecycle strip-ansi@3.0.1~postinstall: strip-ansi@3.0.1 npm info lifecycle stringstream@0.0.5~postinstall: stringstream@0.0.5 npm info lifecycle string_decoder@1.0.3~postinstall: string_decoder@1.0.3 npm info lifecycle assert-plus@1.0.0~postinstall: assert-plus@1.0.0 npm info lifecycle hawk@3.1.3~postinstall: hawk@3.1.3 npm info lifecycle sntp@1.0.9~postinstall: sntp@1.0.9 npm info lifecycle signal-exit@3.0.2~postinstall: signal-exit@3.0.2 npm info lifecycle set-blocking@2.0.0~postinstall: set-blocking@2.0.0 npm info lifecycle semver@5.3.0~postinstall: semver@5.3.0 npm info lifecycle safe-buffer@5.1.1~postinstall: safe-buffer@5.1.1 npm info lifecycle minimist@1.2.0~postinstall: minimist@1.2.0 npm info lifecycle qs@6.4.0~postinstall: qs@6.4.0 npm info lifecycle punycode@1.4.1~postinstall: punycode@1.4.1 npm info lifecycle process-nextick-args@1.0.7~postinstall: process-nextick-args@1.0.7 npm info lifecycle performance-now@0.2.0~postinstall: performance-now@0.2.0 npm info lifecycle path-is-absolute@1.0.1~postinstall: path-is-absolute@1.0.1 npm info lifecycle object-assign@4.1.1~postinstall: object-assign@4.1.1 npm info lifecycle oauth-sign@0.8.2~postinstall: oauth-sign@0.8.2 npm info lifecycle is-fullwidth-code-point@1.0.0~postinstall: is-fullwidth-code-point@1.0.0 npm info lifecycle number-is-nan@1.0.1~postinstall: number-is-nan@1.0.1 npm info lifecycle nopt@3.0.6~postinstall: nopt@3.0.6 npm info lifecycle debug@2.2.0~postinstall: debug@2.2.0 npm info lifecycle ms@0.7.1~postinstall: ms@0.7.1 npm info lifecycle mkdirp@0.5.1~postinstall: mkdirp@0.5.1 npm info lifecycle minimist@0.0.8~postinstall: minimist@0.0.8 npm info lifecycle minimatch@3.0.4~postinstall: minimatch@3.0.4 npm info lifecycle form-data@2.1.4~postinstall: form-data@2.1.4 npm info lifecycle mime-types@2.1.15~postinstall: mime-types@2.1.15 npm info lifecycle mime-db@1.27.0~postinstall: mime-db@1.27.0 npm info lifecycle assert-plus@1.0.0~postinstall: assert-plus@1.0.0 npm info lifecycle har-validator@4.2.1~postinstall: har-validator@4.2.1 npm info lifecycle ajv@4.11.8~postinstall: ajv@4.11.8 npm info lifecycle json-stable-stringify@1.0.1~postinstall: json-stable-stringify@1.0.1 npm info lifecycle jsonify@0.0.0~postinstall: jsonify@0.0.0 npm info lifecycle json-stringify-safe@5.0.1~postinstall: json-stringify-safe@5.0.1 npm info lifecycle json-schema@0.2.3~postinstall: json-schema@0.2.3 npm info lifecycle ecc-jsbn@0.1.1~postinstall: ecc-jsbn@0.1.1 npm info lifecycle jsbn@0.1.1~postinstall: jsbn@0.1.1 npm info lifecycle isstream@0.1.2~postinstall: isstream@0.1.2 npm info lifecycle isarray@1.0.0~postinstall: isarray@1.0.0 npm info lifecycle is-typedarray@1.0.0~postinstall: is-typedarray@1.0.0 npm info lifecycle ini@1.3.4~postinstall: ini@1.3.4 npm info lifecycle block-stream@0.0.9~postinstall: block-stream@0.0.9 npm info lifecycle inherits@2.0.3~postinstall: inherits@2.0.3 npm info lifecycle cryptiles@2.0.5~postinstall: cryptiles@2.0.5 npm info lifecycle boom@2.10.1~postinstall: boom@2.10.1 npm info lifecycle hoek@2.16.3~postinstall: hoek@2.16.3 npm info lifecycle has-unicode@2.0.1~postinstall: has-unicode@2.0.1 npm info lifecycle har-schema@1.0.5~postinstall: har-schema@1.0.5 npm info lifecycle graceful-fs@4.1.11~postinstall: graceful-fs@4.1.11 npm info lifecycle getpass@0.1.7~postinstall: getpass@0.1.7 npm info lifecycle assert-plus@1.0.0~postinstall: assert-plus@1.0.0 npm info lifecycle fs.realpath@1.0.0~postinstall: fs.realpath@1.0.0 npm info lifecycle forever-agent@0.6.1~postinstall: forever-agent@0.6.1 npm info lifecycle extsprintf@1.0.2~postinstall: extsprintf@1.0.2 npm info lifecycle extend@3.0.1~postinstall: extend@3.0.1 npm info lifecycle delegates@1.0.0~postinstall: delegates@1.0.0 npm info lifecycle combined-stream@1.0.5~postinstall: combined-stream@1.0.5 npm info lifecycle delayed-stream@1.0.0~postinstall: delayed-stream@1.0.0 npm info lifecycle deep-extend@0.4.2~postinstall: deep-extend@0.4.2 npm info lifecycle dashdash@1.14.1~postinstall: dashdash@1.14.1 npm info lifecycle assert-plus@1.0.0~postinstall: assert-plus@1.0.0 npm info lifecycle core-util-is@1.0.2~postinstall: core-util-is@1.0.2 npm info lifecycle console-control-strings@1.1.0~postinstall: console-control-strings@1.1.0 npm info lifecycle brace-expansion@1.1.8~postinstall: brace-expansion@1.1.8 npm info lifecycle concat-map@0.0.1~postinstall: concat-map@0.0.1 npm info lifecycle code-point-at@1.1.0~postinstall: code-point-at@1.1.0 npm info lifecycle co@4.6.0~postinstall: co@4.6.0 npm info lifecycle caseless@0.12.0~postinstall: caseless@0.12.0 npm info lifecycle buffer-shims@1.0.0~postinstall: buffer-shims@1.0.0 npm info lifecycle balanced-match@1.0.0~postinstall: balanced-match@1.0.0 npm info lifecycle aws4@1.6.0~postinstall: aws4@1.6.0 npm info lifecycle aws-sign2@0.6.0~postinstall: aws-sign2@0.6.0 npm info lifecycle asynckit@0.4.0~postinstall: asynckit@0.4.0 npm info lifecycle assert-plus@0.2.0~postinstall: assert-plus@0.2.0 npm info lifecycle asn1@0.2.3~postinstall: asn1@0.2.3 npm info lifecycle aproba@1.1.2~postinstall: aproba@1.1.2 npm info lifecycle ansi-regex@2.1.1~postinstall: ansi-regex@2.1.1 npm info lifecycle abbrev@1.1.0~postinstall: abbrev@1.1.0 npm WARN saveError ENOENT: no such file or directory, open '/package.json' npm info lifecycle undefined~preshrinkwrap: undefined npm info lifecycle undefined~shrinkwrap: undefined npm notice created a lockfile as package-lock.json. You should commit this file. npm info lifecycle undefined~postshrinkwrap: undefined npm WARN enoent ENOENT: no such file or directory, open '/package.json' npm WARN !invalid#1 No description npm WARN !invalid#1 No repository field. npm WARN !invalid#1 No README data npm WARN !invalid#1 No license field. + bcrypt@1.0.2 added 115 packages in 6.879s npm info ok npm info it worked if it ends with ok npm info using npm@5.0.3 npm info using node@v8.1.3 npm info readInstalled object npm info build /node_modules/bcrypt npm info lifecycle bcrypt@1.0.2~preinstall: bcrypt@1.0.2 npm info linkStuff bcrypt@1.0.2 npm info lifecycle bcrypt@1.0.2~install: bcrypt@1.0.2 > bcrypt@1.0.2 install /node_modules/bcrypt > node-pre-gyp install --fallback-to-build node-pre-gyp info it worked if it ends with ok node-pre-gyp info using node-pre-gyp@0.6.32 node-pre-gyp info using node@8.1.3 | linux | x64 node-pre-gyp info build requesting source compile gyp info it worked if it ends with ok gyp info using node-gyp@3.6.2 gyp info using node@8.1.3 | linux | x64 gyp info ok gyp info it worked if it ends with ok gyp info using node-gyp@3.6.2 gyp info using node@8.1.3 | linux | x64 gyp http GET https://nodejs.org/download/release/v8.1.3/node-v8.1.3-headers.tar.gz gyp http 200 https://nodejs.org/download/release/v8.1.3/node-v8.1.3-headers.tar.gz gyp http GET https://nodejs.org/download/release/v8.1.3/SHASUMS256.txt gyp http 200 https://nodejs.org/download/release/v8.1.3/SHASUMS256.txt gyp info spawn /usr/bin/python2 gyp info spawn args [ '/usr/local/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py', gyp info spawn args 'binding.gyp', gyp info spawn args '-f', gyp info spawn args 'make', gyp info spawn args '-I', gyp info spawn args '/node_modules/bcrypt/build/config.gypi', gyp info spawn args '-I', gyp info spawn args '/usr/local/lib/node_modules/npm/node_modules/node-gyp/addon.gypi', gyp info spawn args '-I', gyp info spawn args '/root/.node-gyp/8.1.3/include/node/common.gypi', gyp info spawn args '-Dlibrary=shared_library', gyp info spawn args '-Dvisibility=default', gyp info spawn args '-Dnode_root_dir=/root/.node-gyp/8.1.3', gyp info spawn args '-Dnode_gyp_dir=/usr/local/lib/node_modules/npm/node_modules/node-gyp', gyp info spawn args '-Dnode_lib_file=/root/.node-gyp/8.1.3/<(target_arch)/node.lib', gyp info spawn args '-Dmodule_root_dir=/node_modules/bcrypt', gyp info spawn args '-Dnode_engine=v8', gyp info spawn args '--depth=.', gyp info spawn args '--no-parallel', gyp info spawn args '--generator-output', gyp info spawn args 'build', gyp info spawn args '-Goutput_dir=.' ] gyp info ok gyp info it worked if it ends with ok gyp info using node-gyp@3.6.2 gyp info using node@8.1.3 | linux | x64 gyp info spawn make gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ] make: Entering directory '/node_modules/bcrypt/build' CXX(target) Release/obj.target/bcrypt_lib/src/blowfish.o CXX(target) Release/obj.target/bcrypt_lib/src/bcrypt.o CXX(target) Release/obj.target/bcrypt_lib/src/bcrypt_node.o SOLINK_MODULE(target) Release/obj.target/bcrypt_lib.node COPY Release/bcrypt_lib.node COPY /node_modules/bcrypt/lib/binding/bcrypt_lib.node TOUCH Release/obj.target/action_after_build.stamp make: Leaving directory '/node_modules/bcrypt/build' gyp info ok node-pre-gyp info ok npm info lifecycle bcrypt@1.0.2~postinstall: bcrypt@1.0.2 bcrypt@1.0.2 /node_modules/bcrypt npm info ok ```

Is this my problem then? Or should the npm install either not be downloading the built file for this architecture, or be rebuilding from source?

recrsn commented 7 years ago

Or should the npm install either not be downloading the built file for this architecture, or be rebuilding from source?

Yes, node-pre-gyp should be building this binary from source, by detecting ABI incompatibility of pre-built binary. Earlier we did not have Linux binaries at all, so no one faced this issue. I had filed a bug https://github.com/mapbox/node-pre-gyp/issues/265

I have added a note to the installation instructions wiki here: https://github.com/kelektiv/node.bcrypt.js/wiki/Installation-Instructions#alpine-linux-based-images

marcbachmann commented 7 years ago

Is there an earlier version I can use for which there are no prebuilt binaries, so I don't have to rebuild the module?

recrsn commented 7 years ago

@marcbachmann You can use npm install --build-from-source=bcrypt to force bcrypt to install from source.

There are no bug-free versions without pre-built binaries.

marcbachmann commented 7 years ago

Rebuilding isn't a simple workaround when you use bcrypyt in a module which is a dependency of other modules. They would have to do the same. I'll have to check wether npm rebuild also triggers the npm postinstall hook. If not, I can run it in there. 👍

idmontie commented 7 years ago

Hmm npm rebuild bcrypt --build-from-source did not seem to work for me.

The code bcrypt.compare(/* ... */) segfaults :/ I've been trying to figure it out, but I eded up using bcryptjs for now.

recrsn commented 7 years ago

Did you install the dependencies for bcrypt source compiling inside Docker ?

idmontie commented 7 years ago

Yeah, make, gcc etc are installed. There were no errors when running npm rebuild bcrypt --build-from-source. I've had to run npm rebuild bcrypt before on previous version on the Docker container, and it worked then.

It's something about the latest version of bcrypt, apline, and docker that is causing it to seg fault. It started happening around 4 to 6 days ago as well.

recrsn commented 7 years ago

Could you attach the output of docker build ? Also mention your base image.

This is quite strange. I cannot reproduce your problem in the latest version of nodejs:6-alpine or nodejs:8-alpine

teckays commented 7 years ago

Same here, the image I use mhart/alpine-node:8.1.2

This is the only log output related to bcrypt

> bcrypt@1.0.2 install /my_app/node_modules/bcrypt
> node-pre-gyp install --fallback-to-build

[bcrypt] Success: "/my_app/node_modules/bcrypt/lib/binding/bcrypt_lib.node" is installed via remote

Fortunately running npm rebuild bcrypt --build-from-source worked for me this time.

marcbachmann commented 7 years ago

Looks like there are two kind of errors. I haven't experienced the segfault. Only this one, which is fixable by npm rebuild bcrypt --build-from-source.

$ docker run -it --rm mhart/alpine-node:6 /bin/sh -c 'npm install bcrypt && node -e "require(\"bcrypt\")"'
[bcrypt] Success: "/node_modules/bcrypt/lib/binding/bcrypt_lib.node" is installed via remote
/
`-- bcrypt@1.0.2
  +-- bindings@1.2.1
  +-- nan@2.5.0
  `-- node-pre-gyp@0.6.32
    +-- mkdirp@0.5.1
    | `-- minimist@0.0.8
    +-- nopt@3.0.6
    | `-- abbrev@1.1.0
    +-- npmlog@4.1.2
    | +-- are-we-there-yet@1.1.4
    .... list of modules

module.js:597
  return process.dlopen(module, path._makeLong(filename));
                 ^

Error: Error relocating /node_modules/bcrypt/lib/binding/bcrypt_lib.node: __snprintf_chk: symbol not found
    at Error (native)
    at Object.Module._extensions..node (module.js:597:18)
    at Module.load (module.js:487:32)
    at tryModuleLoad (module.js:446:12)
    at Function.Module._load (module.js:438:3)
    at Module.require (module.js:497:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (/node_modules/bcrypt/bcrypt.js:6:16)
    at Module._compile (module.js:570:32)
    at Object.Module._extensions..js (module.js:579:10)
recrsn commented 7 years ago

@marcbachmann @teckays We are aware of the segfault issue. We have #530 to track this. Currently this issue is due to https://github.com/mapbox/node-pre-gyp/issues/309

@marcbachmann Node 6 and Node 8 are demonstrating the same issue. It is sad that Node 8 segfaults, This is due to the result of providing glibC linked pre-built modules (as it is the most used libC), while Alpine uses musl-libC.

As per node-pre-gyp docs, using npm install --build-from-source=bcrypt in place of normal npm install should fix this.

XidongHuang commented 7 years ago

hi, I have a similar issue here, but I use Dockerfile to build image, and there is an error when I run the image:

sudo docker run c1
npm info it worked if it ends with ok
npm info using npm@5.3.0
npm info using node@v8.4.0

> node app.js

module.js:602
  return process.dlopen(module, path._makeLong(filename));
                 ^

Error: The module '/usr/src/app/node_modules/bcrypt/lib/binding/bcrypt_lib.node'
was compiled against a different Node.js version using
NODE_MODULE_VERSION 51. This version of Node.js requires
NODE_MODULE_VERSION 57. Please try re-compiling or re-installing
the module (for instance, using `npm rebuild` or `npm install`).
...

the Dockerfile here:

# Use an official Python runtime as parent image
FROM node:8.4

# Set the working directory to /usr/src/app
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app

# Copy the current directory contents into the container at /usr/src/app
COPY back-end-sourse/ /usr/src/app

# Make port 9090 available to the world
EXPOSE 9090

# Run "npm start" when then container launches
CMD ["npm", "start"]

After I found here, I also tried sudo docker run c1 && npm rebuild bcrypt --build-from-source or in the Dockerfile:

...
CMD ["npm", "install", "--build-from-source=bcrypt"]
CMD ["npm", "start"]

But there is the same issue coming. Are those solutions good at this situation or I write those command at the wrong position.... Please give me some advises.

recrsn commented 7 years ago

@XidongHuang Your error is here:

Error: The module '/usr/src/app/node_modules/bcrypt/lib/binding/bcrypt_lib.node' was compiled against a different Node.js version using NODE_MODULE_VERSION 51. This version of Node.js requires NODE_MODULE_VERSION 57. Please try re-compiling or re-installing the module (for instance, using npm rebuild or npm install).

Are you including the node_modules folder from your host ? You may need to add a .dockerignore with node_modules to exclude that folder.

XidongHuang commented 7 years ago

@agathver thinks for your quick reply! And as the discussion above, I need to re-install bcrypt in the container, so in the Dockerfile, I add:

....
COPY back-end/ /usr/src/app

RUN apt-get update
RUN npm install

...

Then can run it as expected. Thanks again.

scooterbee commented 7 years ago

First - I'm fairly new so please forgive if I am making a rookie error. Second - Trying to install bcrypt on a new computer, but getting: node-pre-gyp install --fallback-to-build ....and then further down.....

npm ERR! Tell the author that this fails on your system:
npm ERR!     node-pre-gyp install --fallback-to-build

npm-debug.log.txt

I tried npm install --build-from-source=bcrypt as referenced above, but that failed also.

Any direction is greatly appreciated!

recrsn commented 7 years ago

@scooterbee Your error is unrelated to this one. It's due to unavailablitly of compilers on your system and compiled modules on our part. #540 is tracking this. I have triggered a build so installing bcrypt on windows should work fine in ~30 mins.

scooterbee commented 7 years ago

@agathver Thank you so much!

JamesKyburz commented 7 years ago

I also had this issue, here is my Dockerfile using rebuild for anyone having issues.

FROM node:8.5.0-alpine

ENV NPM_CONFIG_LOGLEVEL warn

WORKDIR /usr/src/app
COPY package.json package-lock*.json npm-shrinkwrap*.json /usr/src/app/
RUN apk --no-cache add --virtual native-deps \
  git g++ gcc libgcc libstdc++ linux-headers make python && \
  npm install node-gyp -g &&\
  npm install &&\
  npm rebuild bcrypt --build-from-source && \
  npm cache clean --force &&\
  apk del native-deps
COPY . /usr/src/app

USER node

ENTRYPOINT ["node", "src/index"]
CMD []

EXPOSE 5000
mayask commented 6 years ago

For all those you didn't get it to work after adding --build-from-source=bcrypt (or equivalent rebuild command after install) - make sure you're not copying your local node_modules into the image by adding .dockerignore file with contents:

node_modules/

cc @idmontie

mayask commented 6 years ago

@scooterbee

arivatibm commented 6 years ago

I'm running a node.js app inside docker, when I run this line of code: var ibmdb = require('ibm_db'); I'm getting this error:

Segmentation fault
npm ERR! code ELIFECYCLE
npm ERR! errno 139 

here are the relevant parts of my dockerfile:

FROM node:alpine

WORKDIR /src

# install libraries that are needed for ibm_db node package
RUN apk add --no-cache --virtual .odbc-rundeps \
        libgcrypt \
        linux-pam \
        libxml2 \
    && ln -s -f /usr/lib/libgcrypt.so.20 /usr/lib/libcrypt.so.1

# install python
RUN apk add --no-cache --virtual .build-deps \
    python make g++

RUN apk add --no-cache gcc curl

# Add package.json and npm install before app code to
ADD package.json ./

RUN npm install --unsafe-perm
RUN npm install --build-from-source=bcrypt

# Add the application code last
ADD . .

# ENTRYPOINT will be the command that runs, CMD the default parameter
EXPOSE 8080
CMD [ "npm", "start"]

What am I missing? note that I have the .dockerignore file setup correctly

recrsn commented 6 years ago

@arivatibm There are so many points of failure in this such as symlinking gcrypt into crypt. You are getting error in requiring ibm_db, you should raise your concern there. ibm_db does not depend on bcrypt.

However, are you getting a segfault on require('bcrypt') ?

jwalton commented 6 years ago

Looks like https://github.com/mapbox/node-pre-gyp/issues/309 has been closed. Can we make progress on this now?

dcharbonnier commented 6 years ago

in the meantime, https://github.com/dcodeIO/bcrypt.js has the same interface

recrsn commented 6 years ago

@jwalton PRs welcome. It will take me a while to write code for that, given my state now.

cw789 commented 6 years ago

Kind of fix could possibly be the following addition in your Dockerfiles. Fix: https://github.com/nodejs/docker-node/issues/588

djMax commented 5 years ago

People replacing native bcrypt with JS bcrypt seems really bad... The whole point of bcrypt is to "do a hard thing" a number of times such that it's much harder for an attacker to replicate. If you make it intentionally slower (by probably a great deal) you materially hurt the security. Right?

mike-marcacci commented 5 years ago

@djMax - I'm not 100% sure what that has to do with this PR, but I don't think you are correct. The bcrypt algorithm is no different whether it's written JS or C++ or brainfuck. Using the same number of rounds will yield the same security, regardless of the language, as long as the random number sources are of equivalent quality.

djMax commented 5 years ago

Sure, if they use the same rounds that's a fair point. Though those rounds will be significantly slower and thus encourage them to reduce the rounds or not raise them with "the times." Of all the things to do native, though, this is high up on the list.

mike-marcacci commented 5 years ago

Ah yes, I see what you mean. I do agree that this is a great use case for a native driver, but I also think there are good reasons why a pure-JS implementation could be desirable. It's not obvious to me that it would be that much slower, and it would alleviate an entire class of issues. For most programs, bcrypt is only used during authentication; adding an extra half-second to that step probably won't even be noticeable.

Anyhow, the entire category of js-vs-native tradeoffs is about to become a non-issue with WebASM making great progress :)

kromol commented 5 years ago

Since this bug is closed, does it mean that the wiki section for Installation-Instructions for Alpine is slightly outdated and there is no need to run npm rebuild bcrypt --build-from-source after npm i because it's already rebuilt during the installation?

paymog commented 2 years ago

The docs mention

From version 4.0.1 we have started to provide pre-build library for musl libc and following recompiling step would be unnecessary. However, it's still experimental release and you may want to have recompiling step to make sure it works for your environment.

I'm using version 5

  "dependencies": {
    ...
    "bcrypt": "^5.0.0",    
    ...

But I'm still seeing this issue, do I need to install python and compile bcrypt myself even though I'm on a major version beyond the one which experimentally introduced the bindings for alpine?

recrsn commented 2 years ago

If you are still seeing this issue, just double check if you are including glibc binaries from the host by any chance.

It's no longer experimental.

paymog commented 2 years ago

How do I check if I'm including those libraries @recrsn?

Here's my full Dockerfile and .dockerignore:

FROM node:16-alpine

WORKDIR tripvector
COPY package.json package-lock.json ./

RUN npm install

COPY . .

CMD ["npm", "run", "production"]
.data
dist
node_modules
.dockerignore
.Dockerfile
.gitignore

If I alter my dockerfile to not run npm install and additionally RUN ls after copying everything, I see that there's no node_modules folder. Here's the Dockerfile

FROM node:16-alpine

WORKDIR tripvector
COPY package.json package-lock.json ./

#RUN npm install
COPY . .
RUN ls

CMD ["npm", "run", "production"]

and the output when building of just the ls command

#9 [5/5] RUN ls
#9 sha256:b9045c9b9114c4f1df0e078a57eecb2b3270f4c978f62ff50cb51342e24fcfa3
#9 0.436 Dockerfile
#9 0.436 README.md
#9 0.436 api
#9 0.436 index.js
#9 0.436 lib
#9 0.436 middleware
#9 0.436 package-lock.json
#9 0.436 package.json
#9 0.436 public
#9 0.436 webpack.config.js
#9 DONE 0.5s

Is there something else I should check for to verify when the glibc libraries are being included? Do I need to use a more modern version of node?

kknyblnt commented 2 years ago

if anyone using node:16-alpine docker use this command: apk --no-cache add --virtual builds-dependencies build-base python3 make && npm i bcrypt && npm rebuild bcrypt --build-from-source