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.4 ├── ansi.1 ├── archy.2 ├── asn1.11 ├── assert-plus.4 ├── async.10 ├── aws-sign.0 ├─┬ block-stream.7 │ └── UNMET DEPENDENCY inherits * ├── boom.2 ├── child-process-close.1 ├── chmodr.0 ├── chownr.1 ├── cmd-shim.0 ├── combined-stream.4 ├── config-chain.7 ├── cookie-jar.0 ├── couch-login.18 ├── cryptiles.2 ├── ctype.3 ├── delayed-stream.5 ├── editor.4 ├── forever-agent.0 ├── form-data.1 ├─┬ fstream.24 │ └── UNMET DEPENDENCY inherits * ├─┬ fstream-ignore.7 │ └── UNMET DEPENDENCY inherits * ├─┬ fstream-npm.5 │ └── UNMET DEPENDENCY inherits * ├── github-url-from-git.1 ├─┬ glob.6 │ └── UNMET DEPENDENCY inherits * ├── graceful-fs.0 ├── hawk.0 ├── hoek.1 ├── http-signature.0 ├── UNMET DEPENDENCY inherits * ├── inherits.0 (inherits@2) invalid ├── ini.0 ├── init-package-json.10 ├── json-stringify-safe.0 ├── lockfile.2 ├── lru-cache.0 ├── mime.11 ├── minimatch.12 ├── mkdirp.5 ├── mute-stream.4 ├── node-gyp.6 ├── node-uuid.1 ├── nopt.2 ├── normalize-package-data.1 ├── npm.6 ├── npm-registry-client.28 ├── npm-user-validate.3 ├─┬ npmconf.2 │ └── UNMET DEPENDENCY inherits * ├── npmlog.4 ├── oauth-sign.0 ├── once.1 ├── opener.0 ├── osenv.3 ├── promzard.0 ├── proto-list.2 ├── qs.6 ├── read.5 ├── read-installed.4 ├── read-package-json.3 ├── request.0 ├── retry.0 ├── rimraf.2 ├── semver.0 ├── sha.1 ├── sigmund.0 ├── slide.5 ├── sntp.4 ├─┬ tar.18 │ └── UNMET DEPENDENCY inherits * ├── tunnel-agent.0 ├── uid-number.3 └── which.5 npm ERR! missing: inherits@*, required by undefined@undefined npm ERR! missing: inherits@*, required by block-stream.7 npm ERR! missing: inherits@*, required by fstream.24 npm ERR! missing: inherits@*, required by fstream-ignore.7 npm ERR! missing: inherits@*, required by fstream-npm.5 npm ERR! missing: inherits@*, required by glob.6 npm ERR! invalid: inherits.0 /usr/lib/node_modules/inherits@2 npm ERR! missing: inherits@*, required by npmconf.2 npm ERR! missing: inherits@*, required by tar.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.4 ├── ansi.1 ├── archy.2 ├── asn1.11 ├── assert-plus.4 ├── async.10 ├── aws-sign.0 ├── block-stream.7 ├── boom.2 ├── child-process-close.1 ├── chmodr.0 ├── chownr.1 ├── cmd-shim.0 ├── combined-stream.4 ├── config-chain.7 ├── cookie-jar.0 ├── couch-login.18 ├── cryptiles.2 ├── ctype.3 ├── delayed-stream.5 ├── editor.4 ├── forever-agent.0 ├── form-data.1 ├── fstream.24 ├── fstream-ignore.7 ├── fstream-npm.5 ├── github-url-from-git.1 ├── glob.6 ├── graceful-fs.0 ├── hawk.0 ├── hoek.1 ├── http-signature.0 ├── inherits.0 ├── inherits.0 (inherits@2) invalid ├── ini.0 ├── init-package-json.10 ├── json-stringify-safe.0 ├── lockfile.2 ├── lru-cache.0 ├── mime.11 ├── minimatch.12 ├── mkdirp.5 ├── mute-stream.4 ├── node-gyp.6 ├── node-uuid.1 ├── nopt.2 ├── normalize-package-data.1 ├── npm.6 ├── npm-registry-client.28 ├── npm-user-validate.3 ├── npmconf.2 ├── npmlog.4 ├── oauth-sign.0 ├── once.1 ├── opener.0 ├── osenv.3 ├── promzard.0 ├── proto-list.2 ├── qs.6 ├── read.5 ├── read-installed.4 ├── read-package-json.3 ├── request.0 ├── retry.0 ├── rimraf.2 ├── semver.0 ├── sha.1 ├── sigmund.0 ├── slide.5 ├── sntp.4 ├── tar.18 ├── tunnel-agent.0 ├── uid-number.3 └── which.5 npm ERR! invalid: inherits.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 ***