Help with NPM dependencies and errors

I have edited this post… so I 100% know the issue is that I am missing htmlparser2 on my server.
It’s not missing on my development machine because I don’t get the same errors.
I just can’t work out how to fix the error.

My npm-list looks like this…
I am pretty sure I need help cleaning this up because I clearly don’t know what I am doing when it comes to NPM packages…

├── amdefine@1.0.0 extraneous
├── asap@2.0.3
├── babel-runtime@6.5.0
├── babyparse@0.4.6
├── base62@0.1.1 extraneous
├── chart.js@1.0.2 extraneous
├── cheerio@0.20.0 extraneous
├── cheerio-tableparser@1.0.1 extraneous
├── core-js@1.2.6
├── domready@1.0.8
├── envify@3.4.0 extraneous
├── esprima-fb@13001.1001.0-dev-harmony-fb extraneous
├── fbjs@0.6.1 extraneous
├── hoist-non-react-statics@1.0.5
├── invariant@2.2.0
├── js-tokens@1.0.2
├── jstransform@10.1.0 extraneous
├─┬ ladda@1.0.0
│ └── spin.js@2.3.2
├── load-script@1.0.0
├── lodash._getnative@3.9.1
├── lodash.isarguments@3.0.8
├── lodash.isarray@3.0.4
├── lodash.keys@3.1.2
├── loose-envify@1.1.0
├── meteor-node-stubs@0.2.3 extraneous
├── moment@2.14.1
├── numeral@1.5.3
├── promise@7.1.1
├─┬ react@15.2.0 peer invalid
│ ├─┬ fbjs@0.8.3
│ │ ├── immutable@3.8.1
│ │ └─┬ isomorphic-fetch@2.2.1
│ │   ├─┬ node-fetch@1.5.3
│ │   │ ├─┬ encoding@0.1.12
│ │   │ │ └── iconv-lite@0.4.13
│ │   │ └── is-stream@1.1.0
│ │   └── whatwg-fetch@1.0.0
│ └── object-assign@4.1.0
├── react-addons-pure-render-mixin@15.2.0
├── react-chartjs@0.7.3 extraneous
├── react-dom@15.2.0 peer invalid
├── react-highcharts@8.1.1 extraneous
├── react-komposer@1.12.0
├── react-markdown@2.1.1 extraneous
├── react-mounter@1.2.0
├── shallowequal@0.2.2
├── source-map@0.1.31 extraneous
├── through@2.3.8 extraneous
├── ua-parser-js@0.7.10
└── whatwg-fetch@0.9.0 extraneous

when I run meteor npm install htmlparser2 -save I get this error:

npm WARN package.json appName@1.0.0 No description
npm WARN package.json appName@1.0.0 No repository field.
npm WARN package.json appName@1.0.0 No README data
npm ERR! Darwin 15.6.0
npm ERR! argv "node" "/Users/cstrat/.meteor/packages/meteor-tool/.1.3.3_1.7gbjzh++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/dev_bundle/bin/npm" "install" "htmlparser2" "-save"
npm ERR! node v0.10.45
npm ERR! npm  v2.15.1
npm ERR! code EPEERINVALID

npm ERR! peerinvalid The package react@15.2.0 does not satisfy its siblings' peerDependencies requirements!
npm ERR! peerinvalid Peer react-addons-pure-render-mixin@15.2.0 wants react@^15.2.0
npm ERR! peerinvalid Peer react-dom@15.2.0 wants react@^15.2.0
npm ERR! peerinvalid Peer react-komposer@1.12.0 wants react@^0.14.3 || ^15.0.0
npm ERR! peerinvalid Peer react-mounter@1.2.0 wants react@0.14.x || 15.x.x
npm ERR! peerinvalid Peer react-chartjs@0.7.3 wants react@*
npm ERR! peerinvalid Peer react-highcharts@8.1.1 wants react@~0.14
npm ERR! peerinvalid Peer react-markdown@2.1.1 wants react@>=0.13.3

npm ERR! Please include the following file with any support request:
npm ERR!     /Users/cstrat/Meteor/appName/npm-debug.log

So the issue is that I can’t add htmlparser2 to my server build… I know it is a requirement of cheerio however that doesn’t seem to do anything. Anyone have any ideas?

so to fix the issues i ran:

meteor npm prune

then when running the app, there were a bunch of helpful error messages, like:

Unable to resolve some modules:

  "cheerio" in /Users/cstrat/Meteor/appName/server/data-pull.js (os.osx.x86_64)
                                              
If you notice problems related to these missing modules, consider running:
                                              
  meteor npm install --save cheerio

i have to say, this greatly complicated my NPM list…

i am guessing that this is because I had stuff globally installed, but not in meteor npm.

├── asap@2.0.3
├── babel-runtime@6.5.0
├── babyparse@0.4.6
├─┬ chart.js@2.1.6
│ └─┬ chartjs-color@2.0.0
│   ├─┬ chartjs-color-string@0.4.0
│   │ └── color-name@1.1.1
│   └── color-convert@0.5.3
├─┬ cheerio@0.20.0
│ ├─┬ css-select@1.2.0
│ │ ├── boolbase@1.0.0
│ │ ├── css-what@2.1.0
│ │ ├─┬ domutils@1.5.1
│ │ │ └── domelementtype@1.3.0
│ │ └── nth-check@1.0.1
│ ├─┬ dom-serializer@0.1.0
│ │ └── domelementtype@1.1.3
│ ├── entities@1.1.1
│ ├─┬ htmlparser2@3.8.3
│ │ ├── domelementtype@1.3.0
│ │ ├── domhandler@2.3.0
│ │ ├── domutils@1.5.1
│ │ ├── entities@1.0.0
│ │ └─┬ readable-stream@1.1.14
│ │   ├── core-util-is@1.0.2
│ │   ├── inherits@2.0.1
│ │   ├── isarray@0.0.1
│ │   └── string_decoder@0.10.31
│ ├─┬ jsdom@7.2.2
│ │ ├── abab@1.0.3
│ │ ├── acorn@2.7.0
│ │ ├── acorn-globals@1.0.9
│ │ ├── cssom@0.3.1
│ │ ├── cssstyle@0.2.36
│ │ ├─┬ escodegen@1.8.0
│ │ │ ├── esprima@2.7.2
│ │ │ ├── estraverse@1.9.3
│ │ │ ├── esutils@2.0.2
│ │ │ ├─┬ optionator@0.8.1
│ │ │ │ ├── deep-is@0.1.3
│ │ │ │ ├── fast-levenshtein@1.1.3
│ │ │ │ ├── levn@0.3.0
│ │ │ │ ├── prelude-ls@1.1.2
│ │ │ │ ├── type-check@0.3.2
│ │ │ │ └── wordwrap@1.0.0
│ │ │ └─┬ source-map@0.2.0
│ │ │   └── amdefine@1.0.0
│ │ ├── nwmatcher@1.3.8
│ │ ├── parse5@1.5.1
│ │ ├─┬ request@2.72.0
│ │ │ ├── aws-sign2@0.6.0
│ │ │ ├── aws4@1.4.1
│ │ │ ├─┬ bl@1.1.2
│ │ │ │ └─┬ readable-stream@2.0.6
│ │ │ │   ├── core-util-is@1.0.2
│ │ │ │   ├── inherits@2.0.1
│ │ │ │   ├── isarray@1.0.0
│ │ │ │   ├── process-nextick-args@1.0.7
│ │ │ │   ├── string_decoder@0.10.31
│ │ │ │   └── util-deprecate@1.0.2
│ │ │ ├── caseless@0.11.0
│ │ │ ├─┬ combined-stream@1.0.5
│ │ │ │ └── delayed-stream@1.0.0
│ │ │ ├── extend@3.0.0
│ │ │ ├── forever-agent@0.6.1
│ │ │ ├─┬ form-data@1.0.0-rc4
│ │ │ │ └── async@1.5.2
│ │ │ ├─┬ har-validator@2.0.6
│ │ │ │ ├─┬ chalk@1.1.3
│ │ │ │ │ ├── ansi-styles@2.2.1
│ │ │ │ │ ├── escape-string-regexp@1.0.5
│ │ │ │ │ ├─┬ has-ansi@2.0.0
│ │ │ │ │ │ └── ansi-regex@2.0.0
│ │ │ │ │ ├─┬ strip-ansi@3.0.1
│ │ │ │ │ │ └── ansi-regex@2.0.0
│ │ │ │ │ └── supports-color@2.0.0
│ │ │ │ ├─┬ commander@2.9.0
│ │ │ │ │ └── graceful-readlink@1.0.1
│ │ │ │ ├─┬ is-my-json-valid@2.13.1
│ │ │ │ │ ├── generate-function@2.0.0
│ │ │ │ │ ├─┬ generate-object-property@1.2.0
│ │ │ │ │ │ └── is-property@1.0.2
│ │ │ │ │ ├── jsonpointer@2.0.0
│ │ │ │ │ └── xtend@4.0.1
│ │ │ │ └─┬ pinkie-promise@2.0.1
│ │ │ │   └── pinkie@2.0.4
│ │ │ ├─┬ hawk@3.1.3
│ │ │ │ ├── boom@2.10.1
│ │ │ │ ├── cryptiles@2.0.5
│ │ │ │ ├── hoek@2.16.3
│ │ │ │ └── sntp@1.0.9
│ │ │ ├─┬ http-signature@1.1.1
│ │ │ │ ├── assert-plus@0.2.0
│ │ │ │ ├─┬ jsprim@1.3.0
│ │ │ │ │ ├── extsprintf@1.0.2
│ │ │ │ │ ├── json-schema@0.2.2
│ │ │ │ │ └── verror@1.3.6
│ │ │ │ └─┬ sshpk@1.8.3
│ │ │ │   ├── asn1@0.2.3
│ │ │ │   ├── assert-plus@1.0.0
│ │ │ │   ├── dashdash@1.14.0
│ │ │ │   ├── ecc-jsbn@0.1.1
│ │ │ │   ├── getpass@0.1.6
│ │ │ │   ├── jodid25519@1.0.2
│ │ │ │   ├── jsbn@0.1.0
│ │ │ │   └── tweetnacl@0.13.3
│ │ │ ├── is-typedarray@1.0.0
│ │ │ ├── isstream@0.1.2
│ │ │ ├── json-stringify-safe@5.0.1
│ │ │ ├─┬ mime-types@2.1.11
│ │ │ │ └── mime-db@1.23.0
│ │ │ ├── node-uuid@1.4.7
│ │ │ ├── oauth-sign@0.8.2
│ │ │ ├── qs@6.1.0
│ │ │ ├── stringstream@0.0.5
│ │ │ └── tunnel-agent@0.4.3
│ │ ├── sax@1.2.1
│ │ ├── symbol-tree@3.1.4
│ │ ├── tough-cookie@2.2.2
│ │ ├── webidl-conversions@2.0.1
│ │ ├─┬ whatwg-url-compat@0.6.5
│ │ │ └── tr46@0.0.3
│ │ └── xml-name-validator@2.0.1
│ └── lodash@4.13.1
├── cheerio-tableparser@1.0.1
├── core-js@1.2.6
├── domready@1.0.8
├── hoist-non-react-statics@1.0.5
├── invariant@2.2.0
├── js-tokens@1.0.2
├─┬ ladda@1.0.0
│ └── spin.js@2.3.2
├── load-script@1.0.0
├── lodash._getnative@3.9.1
├── lodash.isarguments@3.0.8
├── lodash.isarray@3.0.4
├── lodash.keys@3.1.2
├── loose-envify@1.1.0
├─┬ meteor-node-stubs@0.2.3
│ ├── assert@1.3.0
│ ├─┬ browserify-zlib@0.1.4
│ │ └── pako@0.2.8
│ ├─┬ buffer@4.5.1
│ │ ├── base64-js@1.1.2
│ │ ├── ieee754@1.1.6
│ │ └── isarray@1.0.0
│ ├─┬ console-browserify@1.1.0
│ │ └── date-now@0.1.4
│ ├── constants-browserify@1.0.0
│ ├─┬ crypto-browserify@3.11.0
│ │ ├─┬ browserify-cipher@1.0.0
│ │ │ ├─┬ browserify-aes@1.0.6
│ │ │ │ ├── buffer-xor@1.0.3
│ │ │ │ └── cipher-base@1.0.2
│ │ │ ├─┬ browserify-des@1.0.0
│ │ │ │ ├── cipher-base@1.0.2
│ │ │ │ └─┬ des.js@1.0.0
│ │ │ │   └── minimalistic-assert@1.0.0
│ │ │ └── evp_bytestokey@1.0.0
│ │ ├─┬ browserify-sign@4.0.0
│ │ │ ├── bn.js@4.11.1
│ │ │ ├── browserify-rsa@4.0.1
│ │ │ ├─┬ elliptic@6.2.3
│ │ │ │ ├── brorand@1.0.5
│ │ │ │ └── hash.js@1.0.3
│ │ │ └─┬ parse-asn1@5.0.0
│ │ │   ├─┬ asn1.js@4.5.2
│ │ │   │ └── minimalistic-assert@1.0.0
│ │ │   ├─┬ browserify-aes@1.0.6
│ │ │   │ ├── buffer-xor@1.0.3
│ │ │   │ └── cipher-base@1.0.2
│ │ │   └── evp_bytestokey@1.0.0
│ │ ├─┬ create-ecdh@4.0.0
│ │ │ ├── bn.js@4.11.1
│ │ │ └─┬ elliptic@6.2.3
│ │ │   ├── brorand@1.0.5
│ │ │   └── hash.js@1.0.3
│ │ ├─┬ create-hash@1.1.2
│ │ │ ├── cipher-base@1.0.2
│ │ │ ├── ripemd160@1.0.1
│ │ │ └── sha.js@2.4.5
│ │ ├── create-hmac@1.1.4
│ │ ├─┬ diffie-hellman@5.0.2
│ │ │ ├── bn.js@4.11.1
│ │ │ └─┬ miller-rabin@4.0.0
│ │ │   └── brorand@1.0.5
│ │ ├── inherits@2.0.1
│ │ ├── pbkdf2@3.0.4
│ │ ├─┬ public-encrypt@4.0.0
│ │ │ ├── bn.js@4.11.1
│ │ │ ├── browserify-rsa@4.0.1
│ │ │ └─┬ parse-asn1@5.0.0
│ │ │   ├─┬ asn1.js@4.5.2
│ │ │   │ └── minimalistic-assert@1.0.0
│ │ │   ├─┬ browserify-aes@1.0.6
│ │ │   │ ├── buffer-xor@1.0.3
│ │ │   │ └── cipher-base@1.0.2
│ │ │   └── evp_bytestokey@1.0.0
│ │ └── randombytes@2.0.3
│ ├── domain-browser@1.1.7
│ ├── events@1.1.0
│ ├─┬ http-browserify@1.7.0
│ │ ├── Base64@0.2.1
│ │ └── inherits@2.0.1
│ ├── https-browserify@0.0.1
│ ├── os-browserify@0.2.1
│ ├── path-browserify@0.0.0
│ ├── process@0.11.2
│ ├── punycode@1.4.1
│ ├── querystring-es3@0.2.1
│ ├─┬ readable-stream@2.0.6
│ │ ├── core-util-is@1.0.2
│ │ ├── inherits@2.0.1
│ │ ├── isarray@1.0.0
│ │ ├── process-nextick-args@1.0.6
│ │ └── util-deprecate@1.0.2
│ ├─┬ stream-browserify@2.0.1
│ │ └── inherits@2.0.1
│ ├── string_decoder@0.10.31
│ ├── timers-browserify@1.4.2
│ ├── tty-browserify@0.0.0
│ ├─┬ url@0.11.0
│ │ ├── punycode@1.3.2
│ │ └── querystring@0.2.0
│ ├─┬ util@0.10.3
│ │ └── inherits@2.0.1
│ └─┬ vm-browserify@0.0.4
│   └── indexof@0.0.1
├── moment@2.14.1
├── numeral@1.5.3
├── promise@7.1.1
├─┬ react@15.2.1
│ ├─┬ fbjs@0.8.3
│ │ ├── immutable@3.8.1
│ │ └─┬ isomorphic-fetch@2.2.1
│ │   ├─┬ node-fetch@1.5.3
│ │   │ ├─┬ encoding@0.1.12
│ │   │ │ └── iconv-lite@0.4.13
│ │   │ └── is-stream@1.1.0
│ │   └── whatwg-fetch@1.0.0
│ └── object-assign@4.1.0
├── react-addons-pure-render-mixin@15.2.1
├── react-dom@15.2.1
├─┬ react-highcharts@8.4.1
│ └── highcharts@4.2.5
├── react-komposer@1.13.0
├─┬ react-markdown@2.3.0
│ ├─┬ commonmark@0.24.0
│ │ ├── entities@1.1.1
│ │ ├── mdurl@1.0.1
│ │ └── string.prototype.repeat@0.2.0
│ ├─┬ commonmark-react-renderer@4.1.4
│ │ ├─┬ lodash.assign@4.0.9
│ │ │ ├── lodash.keys@4.0.7
│ │ │ └── lodash.rest@4.0.3
│ │ ├── lodash.isplainobject@4.0.4
│ │ └── xss-filters@1.2.6
│ └── in-publish@2.0.0
├── react-mounter@1.2.0
├── shallowequal@0.2.2
└── ua-parser-js@0.7.10