TritonDataCenter / sdc-imgapi-cli

SDC CLI client for working with an IMGAPI repository
Mozilla Public License 2.0
3 stars 6 forks source link

no workie with npm 3: `Error: Cannot find module 'sdc-clients/node_modules/restify'` #1

Open chorrell opened 8 years ago

chorrell commented 8 years ago

After a fresh install using the following on my local machine:

sudo npm install -g git+ssh://git@github.com:joyent/sdc-imgapi-cli.git

The joyent-imgadm fails with:

module.js:340
    throw err;
    ^
Error: Cannot find module 'sdc-clients/node_modules/restify'
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:280:25)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at Object.<anonymous> (/usr/local/lib/node_modules/imgapi-cli/lib/cli.js:27:15)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.require (module.js:364:17)

So it can't find restify. In cli.js it's loading restify with:

var restify = require('sdc-clients/node_modules/restify');

The README should probably be updated to note that you need to do this first:

sudo npm install -g git+ssh://git@github.com:joyent/node-sdc-clients.git
trentm commented 8 years ago

@chorrell Er. I don't know what's going on for you. One shouldn't need to separately install node-sdc-clients. I can't repro. Can yuo show me what is in your imgapi-cli's node_modules dir? There should be "sdc-clients" subdir... which itself should have a node_modules/restify.

chorrell commented 8 years ago

Sure:

[christopher@MacBook ~/GitHub/sdc-imgapi-cli]$ ls -AlFh node_modules/
total 0
drwxr-xr-x  39 christopher  staff   1.3K 13 Nov 09:28 .bin/
drwxr-xr-x  10 christopher  staff   340B 13 Nov 09:28 abbrev/
drwxr-xr-x   7 christopher  staff   238B 13 Nov 09:28 amdefine/
drwxr-xr-x   6 christopher  staff   204B 13 Nov 09:28 ansi-regex/
drwxr-xr-x   6 christopher  staff   204B 13 Nov 09:28 ansi-styles/
drwxr-xr-x  10 christopher  staff   340B 13 Nov 09:28 argparse/
drwxr-xr-x   8 christopher  staff   272B 13 Nov 09:28 asn1/
drwxr-xr-x   5 christopher  staff   170B 13 Nov 09:28 assert-plus/
drwxr-xr-x  10 christopher  staff   340B 13 Nov 09:28 async/
drwxr-xr-x   6 christopher  staff   204B 13 Nov 09:28 aws-sign2/
drwxr-xr-x   7 christopher  staff   238B 13 Nov 09:28 backoff/
drwxr-xr-x  11 christopher  staff   374B 13 Nov 09:28 balanced-match/
drwxr-xr-x   8 christopher  staff   272B 13 Nov 09:28 big-integer/
drwxr-xr-x  11 christopher  staff   374B 13 Nov 09:28 bl/
drwxr-xr-x  12 christopher  staff   408B 13 Nov 09:28 boom/
drwxr-xr-x   7 christopher  staff   238B 13 Nov 09:28 brace-expansion/
drwxr-xr-x  13 christopher  staff   442B 13 Nov 09:28 bunyan/
drwxr-xr-x   6 christopher  staff   204B 13 Nov 09:28 camelcase/
drwxr-xr-x   6 christopher  staff   204B 13 Nov 09:28 caseless/
drwxr-xr-x   7 christopher  staff   238B 13 Nov 09:28 chalk/
drwxr-xr-x   7 christopher  staff   238B 13 Nov 09:28 cli/
drwxr-xr-x  11 christopher  staff   374B 13 Nov 09:28 cliui/
drwxr-xr-x  10 christopher  staff   340B 13 Nov 09:28 clone/
drwxr-xr-x   6 christopher  staff   204B 13 Nov 09:28 code-point-at/
drwxr-xr-x  13 christopher  staff   442B 13 Nov 09:28 codecov.io/
drwxr-xr-x   6 christopher  staff   204B 13 Nov 09:28 combined-stream/
drwxr-xr-x   9 christopher  staff   306B 13 Nov 09:28 concat-map/
drwxr-xr-x  10 christopher  staff   340B 13 Nov 09:28 console-browserify/
drwxr-xr-x   7 christopher  staff   238B 13 Nov 09:28 core-util-is/
drwxr-xr-x  13 christopher  staff   442B 13 Nov 09:28 coveralls/
drwxr-xr-x  11 christopher  staff   374B 13 Nov 09:28 cryptiles/
drwxr-xr-x  12 christopher  staff   408B 13 Nov 09:28 csv/
drwxr-xr-x   8 christopher  staff   272B 13 Nov 09:28 csv-generate/
drwxr-xr-x   8 christopher  staff   272B 13 Nov 09:28 csv-parse/
drwxr-xr-x   8 christopher  staff   272B 13 Nov 09:28 csv-stringify/
drwxr-xr-x  13 christopher  staff   442B 13 Nov 09:28 ctype/
drwxr-xr-x  13 christopher  staff   442B 13 Nov 09:28 dashdash/
drwxr-xr-x  13 christopher  staff   442B 13 Nov 09:28 debug/
drwxr-xr-x   6 christopher  staff   204B 13 Nov 09:28 decamelize/
drwxr-xr-x  10 christopher  staff   340B 13 Nov 09:28 deep-equal/
drwxr-xr-x  10 christopher  staff   340B 13 Nov 09:28 deep-is/
drwxr-xr-x  11 christopher  staff   374B 13 Nov 09:28 deeper/
drwxr-xr-x   9 christopher  staff   306B 13 Nov 09:28 defined/
drwxr-xr-x   9 christopher  staff   306B 13 Nov 09:28 delayed-stream/
drwxr-xr-x   5 christopher  staff   170B 13 Nov 09:28 diff/
drwxr-xr-x  23 christopher  staff   782B 13 Nov 09:28 dtrace-provider/
drwxr-xr-x   9 christopher  staff   306B 13 Nov 09:28 duplexer/
drwxr-xr-x  10 christopher  staff   340B 13 Nov 09:28 ecc-jsbn/
drwxr-xr-x   9 christopher  staff   306B 13 Nov 09:28 escape-regexp-component/
drwxr-xr-x   6 christopher  staff   204B 13 Nov 09:28 escape-string-regexp/
drwxr-xr-x   9 christopher  staff   306B 13 Nov 09:28 escodegen/
drwxr-xr-x   7 christopher  staff   238B 13 Nov 09:28 esprima/
drwxr-xr-x   9 christopher  staff   306B 13 Nov 09:28 estraverse/
drwxr-xr-x   6 christopher  staff   204B 13 Nov 09:28 esutils/
drwxr-xr-x   7 christopher  staff   238B 13 Nov 09:28 events-to-array/
drwxr-xr-x  12 christopher  staff   408B 13 Nov 09:28 extsprintf/
drwxr-xr-x   6 christopher  staff   204B 13 Nov 09:28 fast-levenshtein/
drwxr-xr-x  11 christopher  staff   374B 13 Nov 09:28 fileset/
drwxr-xr-x  10 christopher  staff   340B 13 Nov 09:28 foreground-child/
drwxr-xr-x   6 christopher  staff   204B 13 Nov 09:28 forever-agent/
drwxr-xr-x   7 christopher  staff   238B 13 Nov 09:28 form-data/
drwxr-xr-x   9 christopher  staff   306B 13 Nov 09:28 formidable/
drwxr-xr-x   8 christopher  staff   272B 13 Nov 09:28 glob/
drwxr-xr-x  18 christopher  staff   612B 13 Nov 09:28 handlebars/
drwxr-xr-x   6 christopher  staff   204B 13 Nov 09:28 has-ansi/
drwxr-xr-x   6 christopher  staff   204B 13 Nov 09:28 has-flag/
drwxr-xr-x  13 christopher  staff   442B 13 Nov 09:28 hawk/
drwxr-xr-x  12 christopher  staff   408B 13 Nov 09:28 hoek/
drwxr-xr-x   9 christopher  staff   306B 13 Nov 09:28 http-signature/
drwxr-xr-x   8 christopher  staff   272B 13 Nov 09:28 inflight/
drwxr-xr-x   8 christopher  staff   272B 13 Nov 09:28 inherits/
drwxr-xr-x   5 christopher  staff   170B 13 Nov 09:28 invert-kv/
drwxr-xr-x   6 christopher  staff   204B 13 Nov 09:28 is-absolute/
drwxr-xr-x   6 christopher  staff   204B 13 Nov 09:28 is-fullwidth-code-point/
drwxr-xr-x   6 christopher  staff   204B 13 Nov 09:28 is-relative/
drwxr-xr-x   8 christopher  staff   272B 13 Nov 09:28 is-utf8/
drwxr-xr-x   7 christopher  staff   238B 13 Nov 09:28 isarray/
drwxr-xr-x   9 christopher  staff   306B 13 Nov 09:28 istanbul/
drwxr-xr-x  13 christopher  staff   442B 13 Nov 09:28 jodid25519/
drwxr-xr-x  11 christopher  staff   374B 13 Nov 09:28 js-yaml/
drwxr-xr-x   9 christopher  staff   306B 13 Nov 09:28 jsbn/
drwxr-xr-x   7 christopher  staff   238B 13 Nov 09:28 jshint/
drwxr-xr-x  13 christopher  staff   442B 13 Nov 09:28 json-schema/
drwxr-xr-x  10 christopher  staff   340B 13 Nov 09:28 json-stringify-safe/
drwxr-xr-x   7 christopher  staff   238B 13 Nov 09:28 jsonify/
drwxr-xr-x  14 christopher  staff   476B 13 Nov 09:28 jsprim/
drwxr-xr-x   9 christopher  staff   306B 13 Nov 09:28 keep-alive-agent/
drwxr-xr-x   7 christopher  staff   238B 13 Nov 09:28 lcid/
drwxr-xr-x   9 christopher  staff   306B 13 Nov 09:28 lcov-parse/
drwxr-xr-x  13 christopher  staff   442B 13 Nov 09:28 ldapjs/
drwxr-xr-x   6 christopher  staff   204B 13 Nov 09:28 levn/
drwxr-xr-x   8 christopher  staff   272B 13 Nov 09:28 libuuid/
drwxr-xr-x  30 christopher  staff   1.0K 13 Nov 09:28 lodash/
drwxr-xr-x   9 christopher  staff   306B 13 Nov 09:28 log-driver/
drwxr-xr-x  10 christopher  staff   340B 13 Nov 09:28 lru-cache/
drwxr-xr-x  10 christopher  staff   340B 13 Nov 09:28 mime/
drwxr-xr-x  11 christopher  staff   374B 13 Nov 09:28 mime-types/
drwxr-xr-x   6 christopher  staff   204B 13 Nov 09:28 minimatch/
drwxr-xr-x   9 christopher  staff   306B 13 Nov 09:28 minimist/
drwxr-xr-x  10 christopher  staff   340B 13 Nov 09:28 mkdirp/
drwxr-xr-x   8 christopher  staff   272B 13 Nov 09:28 ms/
drwxr-xr-x  10 christopher  staff   340B 13 Nov 09:28 mv/
drwxr-xr-x  13 christopher  staff   442B 13 Nov 09:28 nan/
drwxr-xr-x  10 christopher  staff   340B 13 Nov 09:28 ncp/
drwxr-xr-x   6 christopher  staff   204B 13 Nov 09:28 negotiator/
drwxr-xr-x  12 christopher  staff   408B 13 Nov 09:28 node-uuid/
drwxr-xr-x  19 christopher  staff   646B 13 Nov 09:28 nodeunit/
drwxr-xr-x   9 christopher  staff   306B 13 Nov 09:28 nopt/
drwxr-xr-x   6 christopher  staff   204B 13 Nov 09:28 number-is-nan/
drwxr-xr-x  12 christopher  staff   408B 13 Nov 09:28 nyc/
drwxr-xr-x   7 christopher  staff   238B 13 Nov 09:28 oauth-sign/
drwxr-xr-x   7 christopher  staff   238B 13 Nov 09:28 once/
drwxr-xr-x   8 christopher  staff   272B 13 Nov 09:28 only-shallow/
drwxr-xr-x   6 christopher  staff   204B 13 Nov 09:28 opener/
drwxr-xr-x  10 christopher  staff   340B 13 Nov 09:28 optimist/
drwxr-xr-x   7 christopher  staff   238B 13 Nov 09:28 optionator/
drwxr-xr-x   6 christopher  staff   204B 13 Nov 09:28 os-locale/
drwxr-xr-x   6 christopher  staff   204B 13 Nov 09:28 path-is-absolute/
drwxr-xr-x   6 christopher  staff   204B 13 Nov 09:28 precond/
drwxr-xr-x   7 christopher  staff   238B 13 Nov 09:28 prelude-ls/
drwxr-xr-x   8 christopher  staff   272B 13 Nov 09:28 process-nextick-args/
drwxr-xr-x   9 christopher  staff   306B 13 Nov 09:28 progbar/
drwxr-xr-x   6 christopher  staff   204B 13 Nov 09:28 punycode/
drwxr-xr-x  14 christopher  staff   476B 13 Nov 09:28 qs/
drwxr-xr-x  15 christopher  staff   510B 13 Nov 09:28 readable-stream/
drwxr-xr-x  13 christopher  staff   442B 13 Nov 09:28 request/
drwxr-xr-x  10 christopher  staff   340B 13 Nov 09:28 resolve/
drwxr-xr-x  10 christopher  staff   340B 13 Nov 09:28 restify/
drwxr-xr-x   9 christopher  staff   306B 13 Nov 09:28 resumer/
drwxr-xr-x   7 christopher  staff   238B 13 Nov 09:28 rimraf/
drwxr-xr-x   6 christopher  staff   204B 13 Nov 09:28 safe-json-stringify/
drwxr-xr-x  16 christopher  staff   544B 13 Nov 09:28 sdc-clients/
drwxr-xr-x  16 christopher  staff   544B 13 Nov 09:28 semver/
drwxr-xr-x  15 christopher  staff   510B 13 Nov 09:28 shelljs/
drwxr-xr-x   8 christopher  staff   272B 13 Nov 09:28 sigmund/
drwxr-xr-x  10 christopher  staff   340B 13 Nov 09:28 signal-exit/
drwxr-xr-x   9 christopher  staff   306B 13 Nov 09:28 smartdc-auth/
drwxr-xr-x  12 christopher  staff   408B 13 Nov 09:28 sntp/
drwxr-xr-x  12 christopher  staff   408B 13 Nov 09:28 source-map/
drwxr-xr-x   8 christopher  staff   272B 13 Nov 09:28 spdy/
drwxr-xr-x  10 christopher  staff   340B 13 Nov 09:28 split/
drwxr-xr-x   5 christopher  staff   170B 13 Nov 09:28 sprintf/
drwxr-xr-x  12 christopher  staff   408B 13 Nov 09:28 sprintf-js/
drwxr-xr-x  15 christopher  staff   510B 13 Nov 09:28 sshpk/
drwxr-xr-x  14 christopher  staff   476B 13 Nov 09:28 sshpk-agent/
drwxr-xr-x   9 christopher  staff   306B 13 Nov 09:28 stream-combiner/
drwxr-xr-x   8 christopher  staff   272B 13 Nov 09:28 stream-transform/
drwxr-xr-x   6 christopher  staff   204B 13 Nov 09:28 string-width/
drwxr-xr-x   7 christopher  staff   238B 13 Nov 09:28 string_decoder/
drwxr-xr-x   9 christopher  staff   306B 13 Nov 09:28 stringstream/
drwxr-xr-x   6 christopher  staff   204B 13 Nov 09:28 strip-ansi/
drwxr-xr-x   6 christopher  staff   204B 13 Nov 09:28 strip-bom/
drwxr-xr-x  11 christopher  staff   374B 13 Nov 09:28 strsplit/
drwxr-xr-x   7 christopher  staff   238B 13 Nov 09:28 supports-color/
drwxr-xr-x  14 christopher  staff   476B 13 Nov 09:28 tabula/
drwxr-xr-x   8 christopher  staff   272B 13 Nov 09:28 tap/
drwxr-xr-x  15 christopher  staff   510B 13 Nov 09:28 tap-mocha-reporter/
drwxr-xr-x   7 christopher  staff   238B 13 Nov 09:28 tap-parser/
drwxr-xr-x  13 christopher  staff   442B 13 Nov 09:28 tape/
drwxr-xr-x   9 christopher  staff   306B 13 Nov 09:28 through/
drwxr-xr-x   7 christopher  staff   238B 13 Nov 09:28 tmatch/
drwxr-xr-x   6 christopher  staff   204B 13 Nov 09:28 tough-cookie/
drwxr-xr-x   7 christopher  staff   238B 13 Nov 09:28 tunnel-agent/
drwxr-xr-x  10 christopher  staff   340B 13 Nov 09:28 tweetnacl/
drwxr-xr-x   6 christopher  staff   204B 13 Nov 09:28 type-check/
drwxr-xr-x  12 christopher  staff   408B 13 Nov 09:28 ufds/
drwxr-xr-x   9 christopher  staff   306B 13 Nov 09:28 uglify-js/
drwxr-xr-x   9 christopher  staff   306B 13 Nov 09:28 uglify-to-browserify/
drwxr-xr-x  14 christopher  staff   476B 13 Nov 09:28 underscore/
drwxr-xr-x  12 christopher  staff   408B 13 Nov 09:28 underscore.string/
drwxr-xr-x  13 christopher  staff   442B 13 Nov 09:28 unicode-length/
drwxr-xr-x  14 christopher  staff   476B 13 Nov 09:28 urlgrey/
drwxr-xr-x   8 christopher  staff   272B 13 Nov 09:28 util-deprecate/
drwxr-xr-x  14 christopher  staff   476B 13 Nov 09:28 vasync/
drwxr-xr-x  14 christopher  staff   476B 13 Nov 09:28 verror/
drwxr-xr-x   9 christopher  staff   306B 13 Nov 09:28 which/
drwxr-xr-x   7 christopher  staff   238B 13 Nov 09:28 win-spawn/
drwxr-xr-x   6 christopher  staff   204B 13 Nov 09:28 window-size/
drwxr-xr-x   8 christopher  staff   272B 13 Nov 09:28 wordwrap/
drwxr-xr-x   6 christopher  staff   204B 13 Nov 09:28 wrap-ansi/
drwxr-xr-x   7 christopher  staff   238B 13 Nov 09:28 wrappy/
drwxr-xr-x   8 christopher  staff   272B 13 Nov 09:28 y18n/
drwxr-xr-x  11 christopher  staff   374B 13 Nov 09:28 yargs/
trentm commented 8 years ago

@chorrell What is all that junk? That's not a clean sdc-imgapi-cli/node_modules install.

chorrell commented 8 years ago

So that output was for the wrong location. That was from ~/GitHub/sdc-imgapi-cli, but should have been /usr/local/lib/node_modules/imgapi-cli since I'm installing with npm install -g. The global location actually looks more sane:

$ ls -AlFh /usr/local/lib/node_modules/imgapi-cli/node_modules/
total 0
drwxr-xr-x  18 root    staff   612B 13 Nov 19:15 .bin/
drwxr-xr-x  10 nobody  staff   340B 13 Nov 19:15 abbrev/
drwxr-xr-x   8 nobody  staff   272B 13 Nov 19:15 asn1/
drwxr-xr-x   5 nobody  staff   170B 13 Nov 19:15 assert-plus/
drwxr-xr-x  10 nobody  staff   340B 13 Nov 19:15 async/
drwxr-xr-x   7 nobody  staff   238B 13 Nov 19:15 backoff/
drwxr-xr-x  11 nobody  staff   374B 13 Nov 19:15 balanced-match/
drwxr-xr-x   8 nobody  staff   272B 13 Nov 19:15 big-integer/
drwxr-xr-x   7 nobody  staff   238B 13 Nov 19:15 brace-expansion/
drwxr-xr-x  13 nobody  staff   442B 13 Nov 19:15 bunyan/
drwxr-xr-x  10 nobody  staff   340B 13 Nov 19:15 clone/
drwxr-xr-x   9 nobody  staff   306B 13 Nov 19:15 concat-map/
drwxr-xr-x   7 nobody  staff   238B 13 Nov 19:15 core-util-is/
drwxr-xr-x  12 nobody  staff   408B 13 Nov 19:15 csv/
drwxr-xr-x   8 nobody  staff   272B 13 Nov 19:15 csv-generate/
drwxr-xr-x   8 nobody  staff   272B 13 Nov 19:15 csv-parse/
drwxr-xr-x   8 nobody  staff   272B 13 Nov 19:15 csv-stringify/
drwxr-xr-x  13 nobody  staff   442B 13 Nov 19:15 ctype/
drwxr-xr-x  13 nobody  staff   442B 13 Nov 19:15 dashdash/
drwxr-xr-x  10 nobody  staff   340B 13 Nov 19:15 deep-equal/
drwxr-xr-x  23 nobody  staff   782B 13 Nov 19:15 dtrace-provider/
drwxr-xr-x   9 nobody  staff   306B 13 Nov 19:15 escape-regexp-component/
drwxr-xr-x  12 nobody  staff   408B 13 Nov 19:15 extsprintf/
drwxr-xr-x   9 nobody  staff   306B 13 Nov 19:15 formidable/
drwxr-xr-x   8 nobody  staff   272B 13 Nov 19:15 glob/
drwxr-xr-x   9 nobody  staff   306B 13 Nov 19:15 http-signature/
drwxr-xr-x   8 nobody  staff   272B 13 Nov 19:15 inflight/
drwxr-xr-x   8 nobody  staff   272B 13 Nov 19:15 inherits/
drwxr-xr-x   7 nobody  staff   238B 13 Nov 19:15 isarray/
drwxr-xr-x  13 nobody  staff   442B 13 Nov 19:15 json-schema/
drwxr-xr-x   8 nobody  staff   272B 13 Nov 19:15 jsprim/
drwxr-xr-x   9 nobody  staff   306B 13 Nov 19:15 keep-alive-agent/
drwxr-xr-x  13 nobody  staff   442B 13 Nov 19:15 ldapjs/
drwxr-xr-x  10 nobody  staff   340B 13 Nov 19:15 libuuid/
drwxr-xr-x  10 nobody  staff   340B 13 Nov 19:15 lru-cache/
drwxr-xr-x  10 nobody  staff   340B 13 Nov 19:15 mime/
drwxr-xr-x   6 nobody  staff   204B 13 Nov 19:15 minimatch/
drwxr-xr-x   9 nobody  staff   306B 13 Nov 19:15 minimist/
drwxr-xr-x  10 nobody  staff   340B 13 Nov 19:15 mkdirp/
drwxr-xr-x  10 nobody  staff   340B 13 Nov 19:15 mv/
drwxr-xr-x  13 nobody  staff   442B 13 Nov 19:15 nan/
drwxr-xr-x  10 nobody  staff   340B 13 Nov 19:15 ncp/
drwxr-xr-x   6 nobody  staff   204B 13 Nov 19:15 negotiator/
drwxr-xr-x  12 nobody  staff   408B 13 Nov 19:15 node-uuid/
drwxr-xr-x   9 nobody  staff   306B 13 Nov 19:15 nopt/
drwxr-xr-x   7 nobody  staff   238B 13 Nov 19:15 once/
drwxr-xr-x   6 nobody  staff   204B 13 Nov 19:15 path-is-absolute/
drwxr-xr-x   6 nobody  staff   204B 13 Nov 19:15 precond/
drwxr-xr-x   8 nobody  staff   272B 13 Nov 19:15 process-nextick-args/
drwxr-xr-x   9 nobody  staff   306B 13 Nov 19:15 progbar/
drwxr-xr-x  14 nobody  staff   476B 13 Nov 19:15 qs/
drwxr-xr-x  15 nobody  staff   510B 13 Nov 19:15 readable-stream/
drwxr-xr-x  10 nobody  staff   340B 13 Nov 19:15 restify/
drwxr-xr-x   7 nobody  staff   238B 13 Nov 19:15 rimraf/
drwxr-xr-x   6 nobody  staff   204B 13 Nov 19:15 safe-json-stringify/
drwxr-xr-x  12 nobody  staff   408B 13 Nov 19:15 sdc-clients/
drwxr-xr-x  16 nobody  staff   544B 13 Nov 19:15 semver/
drwxr-xr-x   9 nobody  staff   306B 13 Nov 19:15 smartdc-auth/
drwxr-xr-x   8 nobody  staff   272B 13 Nov 19:15 spdy/
drwxr-xr-x   5 nobody  staff   170B 13 Nov 19:15 sprintf/
drwxr-xr-x  10 nobody  staff   340B 13 Nov 19:15 sshpk/
drwxr-xr-x  13 nobody  staff   442B 13 Nov 19:15 sshpk-agent/
drwxr-xr-x   8 nobody  staff   272B 13 Nov 19:15 stream-transform/
drwxr-xr-x   7 nobody  staff   238B 13 Nov 19:15 string_decoder/
drwxr-xr-x  11 nobody  staff   374B 13 Nov 19:15 strsplit/
drwxr-xr-x  14 nobody  staff   476B 13 Nov 19:15 tabula/
drwxr-xr-x   7 nobody  staff   238B 13 Nov 19:15 tunnel-agent/
drwxr-xr-x  12 nobody  staff   408B 13 Nov 19:15 ufds/
drwxr-xr-x   8 nobody  staff   272B 13 Nov 19:15 util-deprecate/
drwxr-xr-x  14 nobody  staff   476B 13 Nov 19:15 vasync/
drwxr-xr-x  14 nobody  staff   476B 13 Nov 19:15 verror/
drwxr-xr-x   7 nobody  staff   238B 13 Nov 19:15 wrappy/

Also, I deleted /usr/local/lib/node_modules/imgapi-cli and then reinstalled. I still hit the same Error: Cannot find module 'sdc-clients/node_modules/restify' error.

Poking around, I see this:

ls -AlFh /usr/local/lib/node_modules/imgapi-cli/node_modules/sdc-clients/node_modules/
total 0
drwxr-xr-x  10 nobody  staff   340B 13 Nov 19:15 async/
drwxr-xr-x  12 nobody  staff   408B 13 Nov 19:15 extsprintf/
drwxr-xr-x  13 nobody  staff   442B 13 Nov 19:15 vasync/
drwxr-xr-x  14 nobody  staff   476B 13 Nov 19:15 verror/

So, restify is not being installed...

trentm commented 8 years ago

The global location actually looks more sane:

That still looks decidedly insane. :) Where are all those deps coming from? sdc-imgapi-cli doesn't have all those deps. Or is this some new version of npm? E.g. a new npm that (so I've heard) flattens all deps, if possible. If so... there might be changes I need to make.

chorrell commented 8 years ago

Yeah, I'm using the newest npm:

[christopher@MacBook ~]$ npm version
{ npm: '3.3.10',
  ares: '1.9.0-DEV',
  http_parser: '1.0',
  modules: '11',
  node: '0.10.40',
  openssl: '1.0.1p',
  uv: '0.10.36',
  v8: '3.14.5.9',
  zlib: '1.2.8' }

Also, fwiw, I get weird issues after installing triton too (sudo npm install -g triton), but I can follow up on that here https://github.com/joyent/node-triton/issues

trentm commented 8 years ago

This is going to turn into a big one. I've got a feeling. :)

pfmooney commented 8 years ago

They changed the logic in npm 3 to flatten dependencies as much as possible (particularly when shared between components). Frankly, requiring from a dependent via direct path is kind of broken anyways. A direct dependency to restify should tune it up, I think.