Bug 1125868 - Symlink and the "inherits@2" directory name breaks output of `npm list -g`
Symlink and the "inherits@2" directory name breaks output of `npm list -g`
Status: CLOSED DUPLICATE of bug 986422
Product: Fedora EPEL
Classification: Fedora
Component: nodejs-inherits (Show other bugs)
el6
Unspecified Unspecified
unspecified Severity unspecified
: ---
: ---
Assigned To: T.C. Hollingsworth
Fedora Extras Quality Assurance
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2014-08-01 05:25 EDT by Jan Kundrát
Modified: 2014-08-01 16:26 EDT (History)
2 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2014-08-01 16:26:16 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Jan Kundrát 2014-08-01 05:25:26 EDT
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
Comment 1 T.C. Hollingsworth 2014-08-01 16:26:16 EDT
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 ***

Note You need to log in before you can comment on or make changes to this bug.