Closed DiegoTUI closed 8 years ago
When you do the manual install, do you first delete the node_modules folder?
nope!!
Do that, and see if the install still goes well.
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
The only thing I can think of is that the user running strider doesn't have access to certain directories.
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!!
It might not be compatible with node 6.
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?
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.
FYI node-gyp installs work for me in Strider with node6 with other dependencies.
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.
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.
FYI, I just tried this locally, and the install failed with Node 6.0.0.
ok, thanks!!
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 usingwebsocket
). Strider fails tonpm install
my project in the "prepare" phase. Here is the 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 thenpm install
just as Strider is doing (save npm and node versions):THEN IT WORKS!!! I really don't know what's happening.