Strider-CD / strider

Open Source Continuous Integration & Deployment Server
http://strider-cd.github.io/
4.6k stars 431 forks source link

node-gyp fails in Strider build #931

Closed DiegoTUI closed 8 years ago

DiegoTUI commented 8 years ago

I recently added a module (bunyan-syslog) that uses node-gyp to install. Surprisingly, it's not the only module using node-gyp to install (I am also using websocket). Strider fails to npm install my project in the "prepare" phase. Here is the log:

> websocket@1.0.22 install /home/ec2-user/builds/data/diegotui-ittserver-57285254a080a4b461b90a2e/node_modules/loadtest/node_modules/websocket
> (node-gyp rebuild 2> builderror.log) || (exit 0)

make: Entering directory `/home/ec2-user/builds/data/diegotui-ittserver-57285254a080a4b461b90a2e/node_modules/loadtest/node_modules/websocket/build'
  CXX(target) Release/obj.target/bufferutil/src/bufferutil.o
make: Leaving directory `/home/ec2-user/builds/data/diegotui-ittserver-57285254a080a4b461b90a2e/node_modules/loadtest/node_modules/websocket/build'

> bunyan-syslog@0.3.1 install /home/ec2-user/builds/data/diegotui-ittserver-57285254a080a4b461b90a2e/node_modules/ITTUtils/node_modules/bunyan-syslog
> node-gyp rebuild

make: Entering directory `/home/ec2-user/builds/data/diegotui-ittserver-57285254a080a4b461b90a2e/node_modules/ITTUtils/node_modules/bunyan-syslog/build'
  CXX(target) Release/obj.target/syslog/src/syslog.o
In file included from ../src/syslog.cc:7:0:
../node_modules/nan/nan.h:602:20: error: variable or field ‘AddGCEpilogueCallback’ declared void
       v8::Isolate::GCEpilogueCallback callback
                    ^
../node_modules/nan/nan.h:602:7: error: ‘GCEpilogueCallback’ is not a member of ‘v8::Isolate’
       v8::Isolate::GCEpilogueCallback callback
       ^
../node_modules/nan/nan.h:603:18: error: expected primary-expression before ‘gc_type_filter’
     , v8::GCType gc_type_filter = v8::kGCTypeAll) {
                  ^
../node_modules/nan/nan.h:608:20: error: variable or field ‘RemoveGCEpilogueCallback’ declared void
       v8::Isolate::GCEpilogueCallback callback) {
                    ^
../node_modules/nan/nan.h:608:7: error: ‘GCEpilogueCallback’ is not a member of ‘v8::Isolate’
       v8::Isolate::GCEpilogueCallback callback) {
       ^
../node_modules/nan/nan.h:613:20: error: variable or field ‘AddGCPrologueCallback’ declared void
       v8::Isolate::GCPrologueCallback callback
                    ^
../node_modules/nan/nan.h:613:7: error: ‘GCPrologueCallback’ is not a member of ‘v8::Isolate’
       v8::Isolate::GCPrologueCallback callback
       ^
../node_modules/nan/nan.h:614:18: error: expected primary-expression before ‘gc_type_filter’
     , v8::GCType gc_type_filter = v8::kGCTypeAll) {
                  ^
../node_modules/nan/nan.h:619:20: error: variable or field ‘RemoveGCPrologueCallback’ declared void
       v8::Isolate::GCPrologueCallback callback) {
                    ^
../node_modules/nan/nan.h:619:7: error: ‘GCPrologueCallback’ is not a member of ‘v8::Isolate’
       v8::Isolate::GCPrologueCallback callback) {
       ^
make: *** [Release/obj.target/syslog/src/syslog.o] Error 1
make: Leaving directory `/home/ec2-user/builds/data/diegotui-ittserver-57285254a080a4b461b90a2e/node_modules/ITTUtils/node_modules/bunyan-syslog/build'
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/local/lib/node_modules/strider/node_modules/strider-node/node_modules/npm/node_modules/node-gyp/lib/build.js:276:23)
gyp ERR! stack     at emitTwo (events.js:106:13)
gyp ERR! stack     at ChildProcess.emit (events.js:191:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:204:12)
gyp ERR! System Linux 3.10.0-327.4.5.el7.x86_64
gyp ERR! command "/home/ec2-user/builds/.n/bin/node" "/usr/local/lib/node_modules/strider/node_modules/strider-node/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /home/ec2-user/builds/data/diegotui-ittserver-57285254a080a4b461b90a2e/node_modules/ITTUtils/node_modules/bunyan-syslog
gyp ERR! node -v v6.0.0
gyp ERR! node-gyp -v v3.2.1
gyp ERR! not ok 

> dtrace-provider@0.6.0 install /home/ec2-user/builds/data/diegotui-ittserver-57285254a080a4b461b90a2e/node_modules/bunyan/node_modules/dtrace-provider
> node scripts/install.js

npm WARN deprecated wrench@1.5.9: wrench.js is deprecated! You should check out fs-extra (https://github.com/jprichardson/node-fs-extra) for any operations you were using wrench for. Thanks for all the usage over the years.
npm ERR! Linux 3.10.0-327.4.5.el7.x86_64
npm ERR! argv "/home/ec2-user/builds/.n/bin/node" "/usr/local/lib/node_modules/strider/node_modules/strider-node/node_modules/.bin/npm" "install" "--color=always"
npm ERR! node v6.0.0
npm ERR! npm  v2.14.17
npm ERR! code ELIFECYCLE

npm ERR! bunyan-syslog@0.3.1 install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the bunyan-syslog@0.3.1 install script 'node-gyp rebuild'.
npm ERR! This is most likely a problem with the bunyan-syslog package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-gyp rebuild
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs bunyan-syslog
npm ERR! Or if that isn't available, you can get their info via:
npm ERR! 
npm ERR!     npm owner ls bunyan-syslog
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /home/ec2-user/builds/data/diegotui-ittserver-57285254a080a4b461b90a2e/npm-debug.log

I've read this issue, but the solution does not apply to my case (I don't seem to have gyp installed). I've cleared the .npm and .node-gyp folders and it doesn't work either.

And probably the strangest thing of all: if I enter the build folder (/home/ec2-user/builds/data/diegotui-ittserver-57285254a080a4b461b90a2e/) and perform the npm install just as Strider is doing (save npm and node versions):

# /home/ec2-user/builds/.n/bin/node /usr/local/lib/node_modules/strider/node_modules/strider-node/node_modules/.bin/npm install--color=always

THEN IT WORKS!!! I really don't know what's happening.

knownasilya commented 8 years ago

When you do the manual install, do you first delete the node_modules folder?

DiegoTUI commented 8 years ago

nope!!

knownasilya commented 8 years ago

Do that, and see if the install still goes well.

DiegoTUI commented 8 years ago

Just did it, and it seems to work:

ec2-user@integration: ~/builds/data/diegotui-ittserver-5728bba3a080a4b461b90b20 $ rm -rf node_modules/
ec2-user@integration: ~/builds/data/diegotui-ittserver-5728bba3a080a4b461b90b20 $ /home/ec2-user/builds/.n/bin/node /usr/local/lib/node_modules/strider/node_modules/strider-node/node_modules/.bin/npm install --color=always
npm WARN deprecated graceful-fs@1.2.3: graceful-fs v3.0.0 and before will fail on node releases >= v6.0. Please update to graceful-fs@^4.0.0 as soon as possible. Use 'npm ls graceful-fs' to find it in the tree.

> bunyan-syslog@0.3.1 install /home/ec2-user/builds/data/diegotui-ittserver-5728bba3a080a4b461b90b20/node_modules/bunyan-syslog
> node-gyp rebuild

make: Entering directory `/home/ec2-user/builds/data/diegotui-ittserver-5728bba3a080a4b461b90b20/node_modules/bunyan-syslog/build'
  CXX(target) Release/obj.target/syslog/src/syslog.o
  SOLINK_MODULE(target) Release/obj.target/syslog.node
  COPY Release/syslog.node
make: Leaving directory `/home/ec2-user/builds/data/diegotui-ittserver-5728bba3a080a4b461b90b20/node_modules/bunyan-syslog/build'
npm WARN deprecated lodash@2.4.1: lodash@<3.0.0 is no longer maintained. Upgrade to lodash@^4.0.0.

> websocket@1.0.22 install /home/ec2-user/builds/data/diegotui-ittserver-5728bba3a080a4b461b90b20/node_modules/loadtest/node_modules/websocket
> (node-gyp rebuild 2> builderror.log) || (exit 0)

make: Entering directory `/home/ec2-user/builds/data/diegotui-ittserver-5728bba3a080a4b461b90b20/node_modules/loadtest/node_modules/websocket/build'
  CXX(target) Release/obj.target/bufferutil/src/bufferutil.o
  SOLINK_MODULE(target) Release/obj.target/bufferutil.node
  COPY Release/bufferutil.node
  CXX(target) Release/obj.target/validation/src/validation.o
  SOLINK_MODULE(target) Release/obj.target/validation.node
  COPY Release/validation.node
make: Leaving directory `/home/ec2-user/builds/data/diegotui-ittserver-5728bba3a080a4b461b90b20/node_modules/loadtest/node_modules/websocket/build'

> dtrace-provider@0.6.0 install /home/ec2-user/builds/data/diegotui-ittserver-5728bba3a080a4b461b90b20/node_modules/bunyan/node_modules/dtrace-provider
> node scripts/install.js

npm WARN deprecated wrench@1.5.9: wrench.js is deprecated! You should check out fs-extra (https://github.com/jprichardson/node-fs-extra) for any operations you were using wrench for. Thanks for all the usage over the years.
npm WARN unmet dependency /home/ec2-user/builds/data/diegotui-ittserver-5728bba3a080a4b461b90b20/node_modules/ITTSuppliersSDK requires async@'' but will load
npm WARN unmet dependency /home/ec2-user/builds/data/diegotui-ittserver-5728bba3a080a4b461b90b20/node_modules/async,
npm WARN unmet dependency which is version 2.0.0-rc.3
npm WARN unmet dependency /home/ec2-user/builds/data/diegotui-ittserver-5728bba3a080a4b461b90b20/node_modules/ITTMockSupplier/node_modules/ITTSuppliersSDK requires async@'' but will load
npm WARN unmet dependency /home/ec2-user/builds/data/diegotui-ittserver-5728bba3a080a4b461b90b20/node_modules/async,
npm WARN unmet dependency which is version 2.0.0-rc.3
money@0.2.0 node_modules/money

underscore@1.7.0 node_modules/underscore

geolib@2.0.20 node_modules/geolib

geojson-utils@1.1.0 node_modules/geojson-utils

std-mocks@1.0.1 node_modules/std-mocks

slugify@0.1.1 node_modules/slugify

ngeohash@0.6.0 node_modules/ngeohash

hat@0.0.3 node_modules/hat

rand-token@0.2.1 node_modules/rand-token

underscore.string@2.4.0 node_modules/underscore.string

ITTeTaxi@1.0.0 node_modules/ITTeTaxi

ITTKabbee@0.0.2 node_modules/ITTKabbee

ITTFlitways@0.0.2 node_modules/ITTFlitways

ITTG7@0.0.2 node_modules/ITTG7

ITTLeCab@0.0.1 node_modules/ITTLeCab

ITTLeCabPriority@0.0.2 node_modules/ITTLeCabPriority

prototypes@0.4.3 node_modules/prototypes

ITTTalixo@0.0.3 node_modules/ITTTalixo

debug@2.2.0 node_modules/debug
└── ms@0.7.1

ITTSuppliersSDK@1.0.0 node_modules/ITTSuppliersSDK

rewire@2.5.1 node_modules/rewire

qs-google-signature@1.2.0 node_modules/qs-google-signature
├── clone@0.1.19
└── qs@2.4.2

xml2js@0.4.16 node_modules/xml2js
├── sax@1.2.1
└── xmlbuilder@4.2.1

ejs@2.0.8 node_modules/ejs

redis@2.5.3 node_modules/redis
├── double-ended-queue@2.1.0-0
├── redis-commands@1.2.0
└── redis-parser@1.3.0

morgan@1.5.1 node_modules/morgan
├── basic-auth@1.0.0
├── depd@1.0.1
├── on-finished@2.2.1 (ee-first@1.1.0)
└── debug@2.1.3 (ms@0.7.0)

express-partials@0.3.0 node_modules/express-partials

open-exchange-rates@0.3.0 node_modules/open-exchange-rates
└── http-agent@0.1.2 (request@1.9.9)

errorhandler@1.3.2 node_modules/errorhandler
├── escape-html@1.0.1
└── accepts@1.2.13 (negotiator@0.5.3, mime-types@2.1.11)

body-parser@1.10.1 node_modules/body-parser
├── media-typer@0.3.0
├── bytes@1.0.0
├── raw-body@1.3.1
├── depd@1.0.1
├── qs@2.3.3
├── on-finished@2.2.1 (ee-first@1.1.0)
├── iconv-lite@0.4.5
└── type-is@1.5.7 (mime-types@2.0.14)

recursive-readdir@1.3.0 node_modules/recursive-readdir
└── minimatch@0.3.0 (sigmund@1.0.1, lru-cache@2.7.3)

serve-static@1.8.0 node_modules/serve-static
├── utils-merge@1.0.0
├── parseurl@1.3.1
├── escape-html@1.0.1
└── send@0.11.0 (destroy@1.0.3, ms@0.7.0, fresh@0.2.4, range-parser@1.0.3, mime@1.2.11, depd@1.0.1, debug@2.1.3, on-finished@2.2.1, etag@1.5.1)

express@4.10.7 node_modules/express
├── utils-merge@1.0.0
├── merge-descriptors@0.0.2
├── media-typer@0.3.0
├── methods@1.1.1
├── fresh@0.2.4
├── vary@1.0.1
├── parseurl@1.3.1
├── serve-static@1.7.2
├── finalhandler@0.3.3
├── range-parser@1.0.3
├── escape-html@1.0.1
├── cookie-signature@1.0.5
├── cookie@0.1.2
├── path-to-regexp@0.1.3
├── content-disposition@0.5.0
├── depd@1.0.1
├── qs@2.3.3
├── on-finished@2.2.1 (ee-first@1.1.0)
├── debug@2.1.3 (ms@0.7.0)
├── etag@1.5.1 (crc@3.2.1)
├── proxy-addr@1.0.10 (forwarded@0.1.0, ipaddr.js@1.0.5)
├── send@0.10.1 (destroy@1.0.3, ms@0.6.2, mime@1.2.11, on-finished@2.1.1)
├── type-is@1.5.7 (mime-types@2.0.14)
└── accepts@1.1.4 (negotiator@0.4.9, mime-types@2.0.14)

yargs@3.32.0 node_modules/yargs
├── decamelize@1.2.0
├── camelcase@2.1.1
├── y18n@3.2.1
├── window-size@0.1.4
├── cliui@3.2.0 (wrap-ansi@2.0.0, strip-ansi@3.0.1)
├── string-width@1.0.1 (strip-ansi@3.0.1, code-point-at@1.0.0, is-fullwidth-code-point@1.0.0)
└── os-locale@1.4.0 (lcid@1.0.0)

bunyan-syslog@0.3.1 node_modules/bunyan-syslog
├── assert-plus@0.1.5
└── nan@2.1.0

socket.io-redis@1.0.0 node_modules/socket.io-redis
├── uid2@0.0.3
├── async@0.9.0
├── socket.io-adapter@0.4.0 (socket.io-parser@2.2.2)
├── redis@2.3.0 (double-ended-queue@2.1.0-0)
└── msgpack-js@0.3.0 (bops@0.0.7)

jasmine@2.4.1 node_modules/jasmine
├── exit@0.1.2
├── jasmine-core@2.4.1
└── glob@3.2.11 (inherits@2.0.1, minimatch@0.3.0)

async@2.0.0-rc.3 node_modules/async

socket.io@1.4.6 node_modules/socket.io
├── has-binary@0.1.7 (isarray@0.0.1)
├── socket.io-parser@2.2.6 (isarray@0.0.1, json3@3.3.2, component-emitter@1.1.2, benchmark@1.0.0)
├── socket.io-adapter@0.4.0 (socket.io-parser@2.2.2)
└── engine.io@1.6.9 (base64id@0.1.0, accepts@1.1.4, ws@1.0.1, engine.io-parser@1.2.4)

moment@2.9.0 node_modules/moment

socket.io-client@1.4.6 node_modules/socket.io-client
├── to-array@0.1.4
├── component-emitter@1.2.0
├── indexof@0.0.1
├── component-bind@1.0.0
├── backo2@1.0.2
├── object-component@0.0.3
├── has-binary@0.1.7 (isarray@0.0.1)
├── socket.io-parser@2.2.6 (isarray@0.0.1, json3@3.3.2, component-emitter@1.1.2, benchmark@1.0.0)
├── parseuri@0.0.4 (better-assert@1.0.2)
└── engine.io-client@1.6.9 (yeast@0.1.2, component-inherit@0.0.3, has-cors@1.1.0, component-emitter@1.1.2, xmlhttprequest-ssl@1.5.1, parseqs@0.0.2, parsejson@0.0.1, ws@1.0.1, engine.io-parser@1.2.4)

nodemailer@1.3.0 node_modules/nodemailer
├── nodemailer-smtp-transport@0.1.13 (nodemailer-wellknown@0.1.9, smtp-connection@1.3.8)
├── nodemailer-direct-transport@1.1.0 (smtp-connection@1.3.8)
├── hyperquest@0.3.0 (duplexer@0.1.1, through@2.2.7)
├── libmime@0.1.7 (libbase64@0.1.0, libqp@0.1.1, iconv-lite@0.4.13)
└── buildmail@1.3.0 (libbase64@0.1.0, libqp@1.1.0, addressparser@0.3.2, libmime@1.2.0, hyperquest@1.3.0)

multer@0.1.6 node_modules/multer
├── qs@1.2.2
├── mkdirp@0.3.5
└── busboy@0.2.13 (readable-stream@1.1.14, dicer@0.2.5)

grunt@0.4.5 node_modules/grunt
├── eventemitter2@0.4.14
├── which@1.0.9
├── dateformat@1.0.2-1.2.3
├── async@0.1.22
├── colors@0.6.2
├── getobject@0.1.0
├── lodash@0.9.2
├── rimraf@2.2.8
├── hooker@0.2.3
├── grunt-legacy-util@0.2.0
├── exit@0.1.2
├── nopt@1.0.10 (abbrev@1.0.7)
├── coffee-script@1.3.3
├── minimatch@0.2.14 (sigmund@1.0.1, lru-cache@2.7.3)
├── iconv-lite@0.2.11
├── underscore.string@2.2.1
├── glob@3.1.21 (inherits@1.0.2, graceful-fs@1.2.3)
├── grunt-legacy-log@0.1.3 (grunt-legacy-log-utils@0.1.1, lodash@2.4.2, underscore.string@2.3.3)
├── findup-sync@0.1.3 (lodash@2.4.2, glob@3.2.11)
└── js-yaml@2.0.5 (esprima@1.0.4, argparse@0.1.16)

request@2.72.0 node_modules/request
├── aws-sign2@0.6.0
├── forever-agent@0.6.1
├── tunnel-agent@0.4.2
├── oauth-sign@0.8.1
├── caseless@0.11.0
├── is-typedarray@1.0.0
├── stringstream@0.0.5
├── isstream@0.1.2
├── json-stringify-safe@5.0.1
├── extend@3.0.0
├── tough-cookie@2.2.2
├── node-uuid@1.4.7
├── qs@6.1.0
├── combined-stream@1.0.5 (delayed-stream@1.0.0)
├── mime-types@2.1.11 (mime-db@1.23.0)
├── form-data@1.0.0-rc4 (async@1.5.2)
├── aws4@1.3.2 (lru-cache@4.0.1)
├── bl@1.1.2 (readable-stream@2.0.6)
├── hawk@3.1.3 (cryptiles@2.0.5, boom@2.10.1, sntp@1.0.9, hoek@2.16.3)
├── http-signature@1.1.1 (assert-plus@0.2.0, jsprim@1.2.2, sshpk@1.8.3)
└── har-validator@2.0.6 (pinkie-promise@2.0.1, commander@2.9.0, chalk@1.1.3, is-my-json-valid@2.13.1)

loadtest@1.3.6 node_modules/loadtest
├── testing@0.2.3
├── agentkeepalive@2.1.1
├── log@1.4.0
├── stdio@0.2.7
└── websocket@1.0.22 (yaeti@0.0.6, typedarray-to-buffer@3.0.5, nan@2.0.9)

jsonwebtoken@5.7.0 node_modules/jsonwebtoken
├── ms@0.7.1
├── xtend@4.0.1
└── jws@3.1.3 (jwa@1.1.3, base64url@1.0.6)

nock@3.6.0 node_modules/nock
├── propagate@0.3.1
├── json-stringify-safe@5.0.1
├── deep-equal@1.0.1
├── lodash@2.4.1
├── mkdirp@0.5.1 (minimist@0.0.8)
└── chai@3.5.0 (assertion-error@1.0.1, type-detect@1.0.0, deep-eql@0.1.3)

twilio@2.9.1 node_modules/twilio
├── string.prototype.startswith@0.2.0
├── deprecate@0.1.0
├── scmp@0.0.3
├── jwt-simple@0.1.0
├── q@0.9.7
├── request@2.55.0 (aws-sign2@0.5.0, forever-agent@0.6.1, caseless@0.9.0, tunnel-agent@0.4.2, oauth-sign@0.6.0, stringstream@0.0.5, isstream@0.1.2, json-stringify-safe@5.0.1, tough-cookie@2.2.2, qs@2.4.2, node-uuid@1.4.7, mime-types@2.0.14, form-data@0.2.0, combined-stream@0.0.7, http-signature@0.10.1, bl@0.9.5, hawk@2.3.1, har-validator@1.8.0)
└── jsonwebtoken@5.4.1 (ms@0.7.1, jws@3.1.3)

ITTUtils@1.7.2 node_modules/ITTUtils
├── underscore@1.8.3
├── nodemailer-ses-transport@1.3.0
├── async@1.5.2
├── extend@3.0.0
├── ua-parser-js@0.6.2
├── nodemailer@2.3.2 (libqp@1.1.0, libbase64@0.1.0, addressparser@1.0.1, nodemailer-smtp-transport@2.4.2, mailcomposer@3.7.0, smart-buffer@1.0.4, ip@1.1.2, nodemailer-wellknown@0.1.8, nodemailer-smtp-pool@2.5.2, smtp-connection@2.3.2, nodemailer-shared@1.0.4, socks@1.1.9, libmime@2.0.3, buildmail@3.6.0, nodemailer-direct-transport@3.0.7, nodemailer-fetch@1.3.0, iconv-lite@0.4.13)
└── bunyan-loggly@1.0.0 (clone@1.0.2, loggly@1.1.0)

mongoose@4.4.12 node_modules/mongoose
├── sliced@1.0.1
├── ms@0.7.1
├── regexp-clone@0.0.1
├── hooks-fixed@1.1.0
├── async@1.5.2
├── muri@1.1.0
├── mpromise@0.5.5
├── mpath@0.2.1
├── kareem@1.0.1
├── bson@0.4.23
├── mquery@1.10.0 (sliced@0.0.5, bluebird@2.10.2)
└── mongodb@2.1.16 (es6-promise@3.0.2, readable-stream@1.0.31, mongodb-core@1.3.16)

bunyan@1.8.1 node_modules/bunyan
├── safe-json-stringify@1.0.3
├── mv@2.1.1 (ncp@2.0.0, mkdirp@0.5.1, rimraf@2.4.5)
├── dtrace-provider@0.6.0 (nan@2.3.2)
└── moment@2.13.0

socketio-auth@0.0.5 node_modules/socketio-auth
└── lodash@3.10.1

grunt-jsdoc@0.6.10 node_modules/grunt-jsdoc
├── ink-docstrap@0.5.4 (moment@2.10.6)
└── jsdoc@3.4.0 (escape-string-regexp@1.0.5, async@1.4.2, taffydb@2.6.2, strip-json-comments@1.0.4, underscore@1.8.3, marked@0.3.5, wrench@1.5.9, js2xmlparser@1.0.0, espree@2.2.5, requizzle@0.2.1, bluebird@2.9.34, catharsis@0.8.8)

grunt-contrib-jshint@1.0.0 node_modules/grunt-contrib-jshint
├── hooker@0.2.3
├── chalk@1.1.3 (escape-string-regexp@1.0.5, ansi-styles@2.2.1, supports-color@2.0.0, has-ansi@2.0.0, strip-ansi@3.0.1)
└── jshint@2.9.2 (strip-json-comments@1.0.4, exit@0.1.2, console-browserify@1.1.0, minimatch@2.0.10, shelljs@0.3.0, cli@0.6.6, htmlparser2@3.8.3, lodash@3.7.0)

aws-sdk@2.3.7 node_modules/aws-sdk
├── sax@1.1.5
├── xml2js@0.4.15
├── jmespath@0.15.0
└── xmlbuilder@2.6.2 (lodash@3.5.0)

ITTMockSupplier@0.0.1 node_modules/ITTMockSupplier
├── random-js@1.0.8
├── redis@2.6.0-2 (double-ended-queue@2.1.0-0, redis-commands@1.2.0, redis-parser@1.3.0)
├── ITTSuppliersSDK@1.0.0 (moment@2.9.0)
├── ITTUtils@1.7.2 (underscore@1.8.3, nodemailer-ses-transport@1.3.0, async@1.5.2, extend@3.0.0, ua-parser-js@0.6.2, nodemailer@2.3.2, bunyan-loggly@1.0.0)
├── moment@2.12.0
└── lodash@4.8.2

grunt-jscs@2.8.0 node_modules/grunt-jscs
├── vow@0.4.12
├── hooker@0.2.3
├── lodash@4.6.1
└── jscs@2.11.0 (to-double-quotes@2.0.0, to-single-quotes@2.0.0, reserved-words@0.1.1, estraverse@4.2.0, natural-compare@1.2.2, strip-json-comments@1.0.4, pathval@0.1.1, jscs-preset-wikimedia@1.0.0, esprima@2.7.2, strip-bom@2.0.0, commander@2.9.0, exit@0.1.2, xmlbuilder@3.1.0, chalk@1.1.3, glob@5.0.15, cli-table@0.3.1, minimatch@3.0.0, vow-fs@0.3.5, resolve@1.1.7, jscs-jsdoc@1.3.2, js-yaml@3.4.6, htmlparser2@3.8.3, prompt@0.2.14, jsonlint@1.6.2, lodash@3.10.1, escope@3.6.0, babel-jscs@2.0.5)

lodash@4.11.2 node_modules/lodash

node-phonenumber@0.1.2 node_modules/node-phonenumber
└── closure@1.0.3
knownasilya commented 8 years ago

The only thing I can think of is that the user running strider doesn't have access to certain directories.

DiegoTUI commented 8 years ago

I start and stop it using systemctl, and I believe that strider uses ec2-user. I will find out about users and permissions anyway, but how do you explain that it only fails when running node-gyp on the bunyan-syslog package? If I remove the package from the project, it works fine. And what's more strange: node-gyp works fine with the websockets package!!!

Have you been able to reproduce the error?. Just add the line "bunyan-syslog": "^0.3.1" to a project and try to deploy it. Does it work?

Thanks for your help!!

knownasilya commented 8 years ago

It might not be compatible with node 6.

DiegoTUI commented 8 years ago

That doesn't make sense either, because when I run it manually, I use exactly the same version of node that Strider uses (/home/ec2-user/builds/.n/bin/node) and the same version of npm that Strider uses (/usr/local/lib/node_modules/strider/node_modules/strider-node/node_modules/.bin/npm). It needs to be something related to the environment where Strider runs npm install. Either the permissions that you mentioned earlier, or some missing environment vars or something like that.

Have you tried the little experiment of adding "bunyan-syslog": "^0.3.1" to one of your projects and trying to deploy it? How did it go?

knownasilya commented 8 years ago

So it fails with node 6, but not with 0.10. Seems like your local test doesn't have everything to test it sufficiently. I'd assume if you setup node6 (or use n directly) on your local machine and tried the install it would fail.

Looking at the bunyan-syslog repo, it looks like there are a handful of install issues that haven't been resolved.

knownasilya commented 8 years ago

FYI node-gyp installs work for me in Strider with node6 with other dependencies.

DiegoTUI commented 8 years ago

OK. I've finally decided to remove bunyan-syslog from my project. But there is something really weird about what's happening, and might be a bug in Strider or a mishap in my configuration. Doing npm install behaves differently in the terminal and in Strider, using exactly the same versions of node and npm in both cases. And doing it in exactly the same folder.

knownasilya commented 8 years ago

This is really an issue for https://github.com/Strider-CD/strider-node. I think I'll create an issue there that links to this thread. I'll close this and if others see similar behavior with other packages, we can investigate further.

knownasilya commented 8 years ago

FYI, I just tried this locally, and the install failed with Node 6.0.0.

DiegoTUI commented 8 years ago

ok, thanks!!