Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

JavaScript Gulp Basics Welcome to Gulp.js Installing Gulp

Installing Gulp, locally & globally, gives me a ton of node modules in the created folder. Why is mine different?

I install globally/locally and each time, I get an enormous node_modules folder with 135 files. I have not seen this on any other install video/article, anywhere.

3 Answers

$ sudo npm install -g gulp
Password:
npm WARN deprecated lodash@1.0.2: lodash@<3.0.0 is no longer maintained. Upgrade to lodash@^4.0.0.
/usr/local/bin/gulp -> /usr/local/lib/node_modules/gulp/bin/gulp.js
/usr/local/lib
└─┬ gulp@3.9.1 
  ├── archy@1.0.0 
  ├─┬ chalk@1.1.1 
  │ ├── ansi-styles@2.1.0 
  │ ├── escape-string-regexp@1.0.4 
  │ ├─┬ has-ansi@2.0.0 
  │ │ └── ansi-regex@2.0.0 
  │ ├── strip-ansi@3.0.0 
  │ └── supports-color@2.0.0 
  ├── deprecated@0.0.1 
  ├─┬ gulp-util@3.0.7 
  │ ├── array-differ@1.0.0 
  │ ├── array-uniq@1.0.2 
  │ ├── beeper@1.1.0 
  │ ├─┬ dateformat@1.0.12 
  │ │ ├── get-stdin@4.0.1 
  │ │ └─┬ meow@3.7.0 
  │ │   ├─┬ camelcase-keys@2.0.0 
  │ │   │ └── camelcase@2.1.0 
  │ │   ├── decamelize@1.1.2 
  │ │   ├─┬ loud-rejection@1.2.1 
  │ │   │ ├── array-find-index@1.0.1 
  │ │   │ └── signal-exit@2.1.2 
  │ │   ├── map-obj@1.0.1 
  │ │   ├─┬ normalize-package-data@2.3.5 
  │ │   │ ├── hosted-git-info@2.1.4 
  │ │   │ ├─┬ is-builtin-module@1.0.0 
  │ │   │ │ └── builtin-modules@1.1.1 
  │ │   │ └─┬ validate-npm-package-license@3.0.1 
  │ │   │   ├─┬ spdx-correct@1.0.2 
  │ │   │   │ └── spdx-license-ids@1.2.0 
  │ │   │   └─┬ spdx-expression-parse@1.0.2 
  │ │   │     └── spdx-exceptions@1.0.4 
  │ │   ├── object-assign@4.0.1 
  │ │   ├─┬ read-pkg-up@1.0.1 
  │ │   │ ├─┬ find-up@1.1.0 
  │ │   │ │ ├── path-exists@2.1.0 
  │ │   │ │ └─┬ pinkie-promise@2.0.0 
  │ │   │ │   └── pinkie@2.0.4 
  │ │   │ └─┬ read-pkg@1.1.0 
  │ │   │   ├─┬ load-json-file@1.1.0 
  │ │   │   │ ├── graceful-fs@4.1.3 
  │ │   │   │ ├─┬ parse-json@2.2.0 
  │ │   │   │ │ └─┬ error-ex@1.3.0 
  │ │   │   │ │   └── is-arrayish@0.2.1 
  │ │   │   │ ├── pify@2.3.0 
  │ │   │   │ └── strip-bom@2.0.0 
  │ │   │   └── path-type@1.1.0 
  │ │   ├─┬ redent@1.0.0 
  │ │   │ ├─┬ indent-string@2.1.0 
  │ │   │ │ └─┬ repeating@2.0.0 
  │ │   │ │   └─┬ is-finite@1.0.1 
  │ │   │ │     └── number-is-nan@1.0.0 
  │ │   │ └── strip-indent@1.0.1 
  │ │   └── trim-newlines@1.0.0 
  │ ├─┬ fancy-log@1.2.0 
  │ │ └── time-stamp@1.0.0 
  │ ├─┬ gulplog@1.0.0 
  │ │ └── glogg@1.0.0 
  │ ├─┬ has-gulplog@0.1.0 
  │ │ └── sparkles@1.0.0 
  │ ├── lodash._reescape@3.0.0 
  │ ├── lodash._reevaluate@3.0.0 
  │ ├── lodash._reinterpolate@3.0.0 
  │ ├─┬ lodash.template@3.6.2 
  │ │ ├── lodash._basecopy@3.0.1 
  │ │ ├── lodash._basetostring@3.0.1 
  │ │ ├── lodash._basevalues@3.0.0 
  │ │ ├── lodash._isiterateecall@3.0.9 
  │ │ ├─┬ lodash.escape@3.2.0 
  │ │ │ └── lodash._root@3.0.0 
  │ │ ├─┬ lodash.keys@3.1.2 
  │ │ │ ├── lodash._getnative@3.9.1 
  │ │ │ ├── lodash.isarguments@3.0.6 
  │ │ │ └── lodash.isarray@3.0.4 
  │ │ ├── lodash.restparam@3.6.1 
  │ │ └── lodash.templatesettings@3.1.1 
  │ ├─┬ multipipe@0.1.2 
  │ │ └─┬ duplexer2@0.0.2 
  │ │   └── readable-stream@1.1.13 
  │ ├── object-assign@3.0.0 
  │ ├── replace-ext@0.0.1 
  │ ├─┬ through2@2.0.1 
  │ │ ├─┬ readable-stream@2.0.5 
  │ │ │ ├── core-util-is@1.0.2 
  │ │ │ ├── inherits@2.0.1 
  │ │ │ ├── isarray@0.0.1 
  │ │ │ ├── process-nextick-args@1.0.6 
  │ │ │ ├── string_decoder@0.10.31 
  │ │ │ └── util-deprecate@1.0.2 
  │ │ └── xtend@4.0.1 
  │ └─┬ vinyl@0.5.3 
  │   ├── clone@1.0.2 
  │   └── clone-stats@0.0.1 
  ├── interpret@1.0.0 
  ├─┬ liftoff@2.2.0 
  │ ├── extend@2.0.1 
  │ ├─┬ findup-sync@0.3.0 
  │ │ └─┬ glob@5.0.15 
  │ │   ├── inflight@1.0.4 
  │ │   ├── minimatch@3.0.0 
  │ │   └── path-is-absolute@1.0.0 
  │ ├── flagged-respawn@0.3.1 
  │ ├── rechoir@0.6.2 
  │ └── resolve@1.1.7 
  ├── minimist@1.2.0 
  ├─┬ orchestrator@0.3.7 
  │ ├─┬ end-of-stream@0.1.5 
  │ │ └─┬ once@1.3.3 
  │ │   └── wrappy@1.0.1 
  │ ├── sequencify@0.0.7 
  │ └── stream-consume@0.1.0 
  ├── pretty-hrtime@1.0.1 
  ├── semver@4.3.6 
  ├─┬ tildify@1.1.2 
  │ └── os-homedir@1.0.1 
  ├─┬ v8flags@2.0.11 
  │ └── user-home@1.1.1 
  └─┬ vinyl-fs@0.3.14 
    ├── defaults@1.0.3 
    ├─┬ glob-stream@3.1.18 
    │ ├── glob@4.5.3 
    │ ├─┬ glob2base@0.0.12 
    │ │ └── find-index@0.1.1 
    │ ├─┬ minimatch@2.0.10 
    │ │ └─┬ brace-expansion@1.1.3 
    │ │   ├── balanced-match@0.3.0 
    │ │   └── concat-map@0.0.1 
    │ ├── ordered-read-streams@0.1.0 
    │ ├─┬ through2@0.6.5 
    │ │ └── readable-stream@1.0.33 
    │ └── unique-stream@1.0.0 
    ├─┬ glob-watcher@0.0.6 
    │ └─┬ gaze@0.5.2 
    │   └─┬ globule@0.1.0 
    │     ├─┬ glob@3.1.21 
    │     │ ├── graceful-fs@1.2.3 
    │     │ └── inherits@1.0.2 
    │     ├── lodash@1.0.2 
    │     └─┬ minimatch@0.2.14 
    │       ├── lru-cache@2.7.3 
    │       └── sigmund@1.0.1 
    ├── graceful-fs@3.0.8 
    ├─┬ mkdirp@0.5.1 
    │ └── minimist@0.0.8 
    ├─┬ strip-bom@1.0.0 
    │ ├── first-chunk-stream@1.0.0 
    │ └── is-utf8@0.2.1 
    ├─┬ through2@0.6.5 
    │ └── readable-stream@1.0.33 
    └─┬ vinyl@0.4.6 
      └── clone@0.2.0
Alex Hardy
Alex Hardy
8,384 Points

From npm 3, all dependencies are placed in the top node_modules directory. This is mentioned in the NPM Basics course.

Sue Dough
Sue Dough
35,800 Points

Well yeah this is what "npm install" does. Its installs packages.