Hide Forgot
Description of problem: The `nppm list -g` complains about a ton of missed dependencies when using npm installed out-of-box on a SL6.5 with nodejs from EPEL. Version-Release number of selected component (if applicable): nodejs-inherits-2.0.0-4.el6.noarch npm-1.3.6-5.el6.noarch nodejs-0.10.28-1.el6.x86_64 How reproducible: # yum install -y npm # npm list -g Actual results: [root@mrsa ~]# npm list -g npm WARN unmet dependency /usr/lib/node_modules/block-stream requires inherits@'~2.0.0' but will load npm WARN unmet dependency undefined, npm WARN unmet dependency which is version undefined npm WARN unmet dependency /usr/lib/node_modules/fstream requires inherits@'~2.0.0' but will load npm WARN unmet dependency undefined, npm WARN unmet dependency which is version undefined npm WARN unmet dependency /usr/lib/node_modules/fstream-ignore requires inherits@'2' but will load npm WARN unmet dependency undefined, npm WARN unmet dependency which is version undefined npm WARN unmet dependency /usr/lib/node_modules/fstream-npm requires inherits@'2' but will load npm WARN unmet dependency undefined, npm WARN unmet dependency which is version undefined npm WARN unmet dependency /usr/lib/node_modules/glob requires inherits@'2' but will load npm WARN unmet dependency undefined, npm WARN unmet dependency which is version undefined npm WARN unmet dependency /usr/lib/node_modules/npmconf requires inherits@'~2.0.0' but will load npm WARN unmet dependency undefined, npm WARN unmet dependency which is version undefined npm WARN unmet dependency /usr/lib/node_modules/tar requires inherits@'2' but will load npm WARN unmet dependency undefined, npm WARN unmet dependency which is version undefined /usr/lib ├── abbrev@1.0.4 ├── ansi@0.2.1 ├── archy@0.0.2 ├── asn1@0.1.11 ├── assert-plus@0.1.4 ├── async@0.2.10 ├── aws-sign@0.3.0 ├─┬ block-stream@0.0.7 │ └── UNMET DEPENDENCY inherits * ├── boom@0.4.2 ├── child-process-close@0.1.1 ├── chmodr@0.1.0 ├── chownr@0.0.1 ├── cmd-shim@1.1.0 ├── combined-stream@0.0.4 ├── config-chain@1.1.7 ├── cookie-jar@0.3.0 ├── couch-login@0.1.18 ├── cryptiles@0.2.2 ├── ctype@0.5.3 ├── delayed-stream@0.0.5 ├── editor@0.0.4 ├── forever-agent@0.5.0 ├── form-data@0.1.1 ├─┬ fstream@0.1.24 │ └── UNMET DEPENDENCY inherits * ├─┬ fstream-ignore@0.0.7 │ └── UNMET DEPENDENCY inherits * ├─┬ fstream-npm@0.1.5 │ └── UNMET DEPENDENCY inherits * ├── github-url-from-git@1.1.1 ├─┬ glob@3.2.6 │ └── UNMET DEPENDENCY inherits * ├── graceful-fs@2.0.0 ├── hawk@1.0.0 ├── hoek@0.9.1 ├── http-signature@0.10.0 ├── UNMET DEPENDENCY inherits * ├── inherits@2.0.0 (inherits@2) invalid ├── ini@1.1.0 ├── init-package-json@0.0.10 ├── json-stringify-safe@5.0.0 ├── lockfile@0.4.2 ├── lru-cache@2.3.0 ├── mime@1.2.11 ├── minimatch@0.2.12 ├── mkdirp@0.3.5 ├── mute-stream@0.0.4 ├── node-gyp@0.10.6 ├── node-uuid@1.4.1 ├── nopt@2.1.2 ├── normalize-package-data@0.2.1 ├── npm@1.3.6 ├── npm-registry-client@0.2.28 ├── npm-user-validate@0.0.3 ├─┬ npmconf@0.1.2 │ └── UNMET DEPENDENCY inherits * ├── npmlog@0.0.4 ├── oauth-sign@0.3.0 ├── once@1.1.1 ├── opener@1.3.0 ├── osenv@0.0.3 ├── promzard@0.2.0 ├── proto-list@1.2.2 ├── qs@0.6.6 ├── read@1.0.5 ├── read-installed@0.2.4 ├── read-package-json@1.1.3 ├── request@2.25.0 ├── retry@0.6.0 ├── rimraf@2.2.2 ├── semver@2.1.0 ├── sha@1.2.1 ├── sigmund@1.0.0 ├── slide@1.1.5 ├── sntp@0.2.4 ├─┬ tar@0.1.18 │ └── UNMET DEPENDENCY inherits * ├── tunnel-agent@0.3.0 ├── uid-number@0.0.3 └── which@1.0.5 npm ERR! missing: inherits@*, required by undefined@undefined npm ERR! missing: inherits@*, required by block-stream@0.0.7 npm ERR! missing: inherits@*, required by fstream@0.1.24 npm ERR! missing: inherits@*, required by fstream-ignore@0.0.7 npm ERR! missing: inherits@*, required by fstream-npm@0.1.5 npm ERR! missing: inherits@*, required by glob@3.2.6 npm ERR! invalid: inherits@2.0.0 /usr/lib/node_modules/inherits@2 npm ERR! missing: inherits@*, required by npmconf@0.1.2 npm ERR! missing: inherits@*, required by tar@0.1.18 npm ERR! not ok code 0 Please note that this is a fresh installation, so I don't suppose bug #997978 is relevant. Stuff can be fixed by these two steps: [root@mrsa ~]# rm -rf /usr/lib/node_modules/inherits [root@mrsa ~]# mv /usr/lib/node_modules/inherits@2 /usr/lib/node_modules/inherits Anyway, I'm not familiar with now Node.js is supposed to be deployed or the way how modules are handled, but I suspect that at least some component chokes when the module names look like inherits@2. Simply cp-ing that directory to the place where the symlink was did not fix the output; `npm list -g` still complained about an invalid name of "inherits@2": [root@mrsa ~]# npm list -g /usr/lib ├── abbrev@1.0.4 ├── ansi@0.2.1 ├── archy@0.0.2 ├── asn1@0.1.11 ├── assert-plus@0.1.4 ├── async@0.2.10 ├── aws-sign@0.3.0 ├── block-stream@0.0.7 ├── boom@0.4.2 ├── child-process-close@0.1.1 ├── chmodr@0.1.0 ├── chownr@0.0.1 ├── cmd-shim@1.1.0 ├── combined-stream@0.0.4 ├── config-chain@1.1.7 ├── cookie-jar@0.3.0 ├── couch-login@0.1.18 ├── cryptiles@0.2.2 ├── ctype@0.5.3 ├── delayed-stream@0.0.5 ├── editor@0.0.4 ├── forever-agent@0.5.0 ├── form-data@0.1.1 ├── fstream@0.1.24 ├── fstream-ignore@0.0.7 ├── fstream-npm@0.1.5 ├── github-url-from-git@1.1.1 ├── glob@3.2.6 ├── graceful-fs@2.0.0 ├── hawk@1.0.0 ├── hoek@0.9.1 ├── http-signature@0.10.0 ├── inherits@2.0.0 ├── inherits@2.0.0 (inherits@2) invalid ├── ini@1.1.0 ├── init-package-json@0.0.10 ├── json-stringify-safe@5.0.0 ├── lockfile@0.4.2 ├── lru-cache@2.3.0 ├── mime@1.2.11 ├── minimatch@0.2.12 ├── mkdirp@0.3.5 ├── mute-stream@0.0.4 ├── node-gyp@0.10.6 ├── node-uuid@1.4.1 ├── nopt@2.1.2 ├── normalize-package-data@0.2.1 ├── npm@1.3.6 ├── npm-registry-client@0.2.28 ├── npm-user-validate@0.0.3 ├── npmconf@0.1.2 ├── npmlog@0.0.4 ├── oauth-sign@0.3.0 ├── once@1.1.1 ├── opener@1.3.0 ├── osenv@0.0.3 ├── promzard@0.2.0 ├── proto-list@1.2.2 ├── qs@0.6.6 ├── read@1.0.5 ├── read-installed@0.2.4 ├── read-package-json@1.1.3 ├── request@2.25.0 ├── retry@0.6.0 ├── rimraf@2.2.2 ├── semver@2.1.0 ├── sha@1.2.1 ├── sigmund@1.0.0 ├── slide@1.1.5 ├── sntp@0.2.4 ├── tar@0.1.18 ├── tunnel-agent@0.3.0 ├── uid-number@0.0.3 └── which@1.0.5 npm ERR! invalid: inherits@2.0.0 /usr/lib/node_modules/inherits@2 npm ERR! not ok code 0
This error is purely cosmetic and doesn't stop the modules from working in any way. See https://bugzilla.redhat.com/show_bug.cgi?id=986422#c1 for some more detail. This will likely be fixed properly when nodejs-0.12 arrives and we get a clean break to do the multiply versioned modules thing in a way that npm is happier with. *** This bug has been marked as a duplicate of bug 986422 ***