{"action":"created","issue":{"url":"https://api.github.com/repos/npm/npm/issues/9100","labels_url":"https://api.github.com/repos/npm/npm/issues/9100/labels{/name}","comments_url":"https://api.github.com/repos/npm/npm/issues/9100/comments","events_url":"https://api.github.com/repos/npm/npm/issues/9100/events","html_url":"https://github.com/npm/npm/issues/9100","id":97966299,"number":9100,"title":"Fetching module from git does not recursively install its node_modules","user":{"login":"sh1989","id":2462285,"avatar_url":"https://avatars.githubusercontent.com/u/2462285?v=3","gravatar_id":"","url":"https://api.github.com/users/sh1989","html_url":"https://github.com/sh1989","followers_url":"https://api.github.com/users/sh1989/followers","following_url":"https://api.github.com/users/sh1989/following{/other_user}","gists_url":"https://api.github.com/users/sh1989/gists{/gist_id}","starred_url":"https://api.github.com/users/sh1989/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sh1989/subscriptions","organizations_url":"https://api.github.com/users/sh1989/orgs","repos_url":"https://api.github.com/users/sh1989/repos","events_url":"https://api.github.com/users/sh1989/events{/privacy}","received_events_url":"https://api.github.com/users/sh1989/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/npm/npm/labels/pending","name":"pending","color":"000000"},{"url":"https://api.github.com/repos/npm/npm/labels/support","name":"support","color":"FF91AF"}],"state":"closed","locked":false,"assignee":{"login":"ehsalazar","id":7298179,"avatar_url":"https://avatars.githubusercontent.com/u/7298179?v=3","gravatar_id":"","url":"https://api.github.com/users/ehsalazar","html_url":"https://github.com/ehsalazar","followers_url":"https://api.github.com/users/ehsalazar/followers","following_url":"https://api.github.com/users/ehsalazar/following{/other_user}","gists_url":"https://api.github.com/users/ehsalazar/gists{/gist_id}","starred_url":"https://api.github.com/users/ehsalazar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ehsalazar/subscriptions","organizations_url":"https://api.github.com/users/ehsalazar/orgs","repos_url":"https://api.github.com/users/ehsalazar/repos","events_url":"https://api.github.com/users/ehsalazar/events{/privacy}","received_events_url":"https://api.github.com/users/ehsalazar/received_events","type":"User","site_admin":false},"milestone":null,"comments":5,"created_at":"2015-07-29T15:46:12Z","updated_at":"2015-08-28T11:01:42Z","closed_at":"2015-08-27T20:42:55Z","body":"To reproduce this issue, I have two Git repositories.\r\nTested with npm v1.4.28, node v0.10.36\r\n\r\nhttps://github.com/sh1989/browserify-bundling-main, which depends on https://github.com/sh1989/browserify-bundling-library - the dependency is specified as a git uri in the main repo's package.json.\r\n\r\n(The .gitignore in browserify-bundling-library excludes node_modules from being committed to Git)\r\n\r\nOn cloning the -main repo, and doing an npm install, I get the following output:\r\n````\r\nnpm WARN package.json browserify-bundling-main@1.0.0 No repository field.                                             \r\nnpm WARN optional dep failed, continuing fsevents@0.3.6                                                               \r\nbrowserify-bundling-library@1.0.6 node_modules\\browserify-bundling-library                                            \r\n                                                                                                                      \r\ngrunt-contrib-clean@0.6.0 node_modules\\grunt-contrib-clean                                                            \r\n└── rimraf@2.2.8                                                                                                      \r\n                                                                                                                      \r\ngrunt-contrib-copy@0.8.0 node_modules\\grunt-contrib-copy                                                              \r\n├── file-sync-cmp@0.1.1                                                                                               \r\n└── chalk@0.5.1 (ansi-styles@1.1.0, escape-string-regexp@1.0.3, supports-color@0.2.0, strip-ansi@0.3.0, has-ansi@0.1.0\r\n)                                                                                                                     \r\n                                                                                                                      \r\ngrunt@0.4.5 node_modules\\grunt                                                                                        \r\n├── dateformat@1.0.2-1.2.3                                                                                            \r\n├── which@1.0.9                                                                                                       \r\n├── eventemitter2@0.4.14                                                                                              \r\n├── getobject@0.1.0                                                                                                   \r\n├── colors@0.6.2                                                                                                      \r\n├── rimraf@2.2.8                                                                                                      \r\n├── async@0.1.22                                                                                                      \r\n├── grunt-legacy-util@0.2.0                                                                                           \r\n├── hooker@0.2.3                                                                                                      \r\n├── exit@0.1.2                                                                                                        \r\n├── nopt@1.0.10 (abbrev@1.0.7)                                                                                        \r\n├── minimatch@0.2.14 (sigmund@1.0.1, lru-cache@2.6.5)                                                                 \r\n├── glob@3.1.21 (inherits@1.0.0, graceful-fs@1.2.3)                                                                   \r\n├── lodash@0.9.2                                                                                                      \r\n├── coffee-script@1.3.3                                                                                               \r\n├── underscore.string@2.2.1                                                                                           \r\n├── iconv-lite@0.2.11                                                                                                 \r\n├── findup-sync@0.1.3 (glob@3.2.11, lodash@2.4.2)                                                                     \r\n├── js-yaml@2.0.5 (argparse@0.1.16, esprima@1.0.4)                                                                    \r\n└── grunt-legacy-log@0.1.2 (grunt-legacy-log-utils@0.1.1, underscore.string@2.3.3, lodash@2.4.2)                      \r\n                                                                                                                      \r\nbrowserify@11.0.0 node_modules\\browserify                                                                             \r\n├── https-browserify@0.0.0                                                                                            \r\n├── htmlescape@1.1.0                                                                                                  \r\n├── tty-browserify@0.0.0                                                                                              \r\n├── builtins@0.0.7                                                                                                    \r\n├── constants-browserify@0.0.1                                                                                        \r\n├── path-browserify@0.0.0                                                                                             \r\n├── os-browserify@0.1.2                                                                                               \r\n├── isarray@0.0.1                                                                                                     \r\n├── inherits@2.0.1                                                                                                    \r\n├── commondir@0.0.1                                                                                                   \r\n├── process@0.11.1                                                                                                    \r\n├── string_decoder@0.10.31                                                                                            \r\n├── stream-browserify@2.0.0                                                                                           \r\n├── shell-quote@0.0.1                                                                                                 \r\n├── defined@1.0.0                                                                                                     \r\n├── domain-browser@1.1.4                                                                                              \r\n├── xtend@4.0.0                                                                                                       \r\n├── punycode@1.3.2                                                                                                    \r\n├── querystring-es3@0.2.1                                                                                             \r\n├── assert@1.3.0                                                                                                      \r\n├── timers-browserify@1.4.1                                                                                           \r\n├── deps-sort@1.3.9                                                                                                   \r\n├── util@0.10.3                                                                                                       \r\n├── events@1.0.2                                                                                                      \r\n├── parents@1.0.1 (path-platform@0.11.15)                                                                             \r\n├── console-browserify@1.1.0 (date-now@0.1.4)                                                                         \r\n├── has@1.0.1 (function-bind@1.0.2)                                                                                   \r\n├── vm-browserify@0.0.4 (indexof@0.0.1)                                                                               \r\n├── url@0.10.3 (querystring@0.2.0)                                                                                    \r\n├── readable-stream@2.0.2 (process-nextick-args@1.0.2, util-deprecate@1.0.1, core-util-is@1.0.1)                      \r\n├── stream-http@1.3.0 (indexof@0.0.1, builtin-status-codes@1.0.0, foreach@2.0.5, object-keys@1.0.4)                   \r\n├── shasum@1.0.1 (json-stable-stringify@0.0.1, sha.js@2.3.6)                                                          \r\n├── subarg@1.0.0 (minimist@1.1.2)                                                                                     \r\n├── buffer@3.3.1 (ieee754@1.1.6, is-array@1.0.1, base64-js@0.0.8)                                                     \r\n├── duplexer2@0.0.2 (readable-stream@1.1.13)                                                                          \r\n├── browser-resolve@1.9.0                                                                                             \r\n├── resolve@1.1.6                                                                                                     \r\n├── read-only-stream@1.1.1 (readable-wrap@1.0.0, readable-stream@1.1.13)                                              \r\n├── JSONStream@1.0.4 (through@2.3.8, jsonparse@1.0.0)                                                                 \r\n├── concat-stream@1.4.10 (typedarray@0.0.6, readable-stream@1.1.13)                                                   \r\n├── glob@4.5.3 (once@1.3.2, inflight@1.0.4, minimatch@2.0.10)                                                         \r\n├── browser-pack@5.0.1 (umd@3.0.1, combine-source-map@0.6.1)                                                          \r\n├── labeled-stream-splicer@1.0.2 (stream-splicer@1.3.2)                                                               \r\n├── browserify-zlib@0.1.4 (pako@0.2.7)                                                                                \r\n├── through2@1.1.1 (readable-stream@1.1.13)                                                                           \r\n├── crypto-browserify@3.9.14 (randombytes@2.0.1, create-hmac@1.1.3, pbkdf2@3.0.4, create-hash@1.1.1, browserify-aes@1.\r\n0.2, browserify-sign@3.0.2, create-ecdh@2.0.1, public-encrypt@2.0.1, diffie-hellman@3.0.2)                            \r\n├── insert-module-globals@6.5.2 (combine-source-map@0.6.1, lexical-scope@1.1.1)                                       \r\n├── syntax-error@1.1.4 (acorn@1.2.2)                                                                                  \r\n└── module-deps@3.9.0 (readable-stream@1.1.13, stream-combiner2@1.0.2, detective@4.1.1)                               \r\n                                                                                                                      \r\ngrunt-browserify@3.8.0 node_modules\\grunt-browserify                                                                  \r\n├── async@0.9.2                                                                                                       \r\n├── lodash@3.10.0                                                                                                     \r\n├── resolve@1.1.6                                                                                                     \r\n├── glob@5.0.14 (path-is-absolute@1.0.0, inherits@2.0.1, once@1.3.2, inflight@1.0.4, minimatch@2.0.10)                \r\n├── browserify@10.2.6 (https-browserify@0.0.0, tty-browserify@0.0.0, htmlescape@1.1.0, builtins@0.0.7, constants-brows\r\nerify@0.0.1, path-browserify@0.0.0, os-browserify@0.1.2, inherits@2.0.1, isarray@0.0.1, commondir@0.0.1, through2@1.1.\r\n1, string_decoder@0.10.31, process@0.11.1, stream-browserify@1.0.0, shell-quote@0.0.1, defined@1.0.0, domain-browser@1\r\n.1.4, xtend@4.0.0, punycode@1.3.2, duplexer2@0.0.2, querystring-es3@0.2.1, assert@1.3.0, timers-browserify@1.4.1, deps\r\n-sort@1.3.9, util@0.10.3, parents@1.0.1, read-only-stream@1.1.1, concat-stream@1.4.10, console-browserify@1.1.0, has@1\r\n.0.1, http-browserify@1.7.0, browser-resolve@1.9.0, buffer@3.3.1, JSONStream@1.0.4, browserify-zlib@0.1.4, url@0.10.3,\r\n events@1.0.2, vm-browserify@0.0.4, shasum@1.0.1, subarg@1.0.0, labeled-stream-splicer@1.0.2, glob@4.5.3, browser-pack\r\n@5.0.1, syntax-error@1.1.4, readable-stream@1.1.13, module-deps@3.9.0, crypto-browserify@3.9.14, insert-module-globals\r\n@6.5.2)                                                                                                               \r\n└── watchify@3.3.0 (defined@1.0.0, xtend@4.0.0, anymatch@1.3.0, outpipe@1.1.1, through2@0.6.5, browserify@11.0.0, chok\r\nidar@1.0.5)                                                                                                           \r\n````\r\n\r\nAccording to the npm install docs (https://docs.npmjs.com/cli/install):\r\n>This command installs a package, and any packages that it depends on\r\n\r\nTherefore, I expected `node_modules/browserify-bundling-library` to itself contain a `node_modules` directory containing the missing dependencies (such as uglifyify in this case). However, this dependency's dependencies are not installed.\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/npm/npm/issues/comments/135740586","html_url":"https://github.com/npm/npm/issues/9100#issuecomment-135740586","issue_url":"https://api.github.com/repos/npm/npm/issues/9100","id":135740586,"user":{"login":"sh1989","id":2462285,"avatar_url":"https://avatars.githubusercontent.com/u/2462285?v=3","gravatar_id":"","url":"https://api.github.com/users/sh1989","html_url":"https://github.com/sh1989","followers_url":"https://api.github.com/users/sh1989/followers","following_url":"https://api.github.com/users/sh1989/following{/other_user}","gists_url":"https://api.github.com/users/sh1989/gists{/gist_id}","starred_url":"https://api.github.com/users/sh1989/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sh1989/subscriptions","organizations_url":"https://api.github.com/users/sh1989/orgs","repos_url":"https://api.github.com/users/sh1989/repos","events_url":"https://api.github.com/users/sh1989/events{/privacy}","received_events_url":"https://api.github.com/users/sh1989/received_events","type":"User","site_admin":false},"created_at":"2015-08-28T11:01:42Z","updated_at":"2015-08-28T11:01:42Z","body":"Hey, sorry, have been on holiday. Thanks to @othiym23 this is resolved and makes sense to me know. Perhaps this nuance should be clarified in the documentation? Happy to remain closed."}}