Bug 997978

Summary: Upgrade breaks npm, reinstalling corrects problem
Product: [Fedora] Fedora EPEL Reporter: thomas.suckow
Component: npmAssignee: T.C. Hollingsworth <tchollingsworth>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: el6CC: baduncaduncan, jamielinux, tchollingsworth, thomas.suckow
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Linux   
Whiteboard:
Fixed In Version: nodejs-request-2.25.0-3.el6 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-08-27 23:25:26 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description thomas.suckow 2013-08-16 16:36:19 UTC
Description of problem:
The symbolic link for /usr/lib/node_modules/inherits becomes mangled upon
upgrade to 1.3.3

Version-Release number of selected component (if applicable):
1.3.3

How reproducible:
Have not tried (Numerous reports from RHEL/CentOS/Fedora users)

Steps to Reproduce:
1. Install pre npm 1.3.3
2. Update to npm 1.3.3
3. Execute npm with any parameters

Actual results:
npm ERR! Error: Cannot find module 'inherits'
(See link below for full output)

Expected results:
npm to operate as expected

Additional info:
https://github.com/isaacs/npm/issues/3724

Workaround:
Erase the npm package and reinstall

Comment 1 Duncan Wong 2013-08-16 18:40:19 UTC
Just wanted to add the following context: https://github.com/isaacs/npm/issues/3724#issuecomment-22784969

For the workaround, we tried to simply uninstall the yum packages and reinstall.  It didn't fix the problem with the symlinks.  Instead, our system admin had to perform the full:

yum erase npm nodejs
rm -rf /usr/lib/node_modules
yum install npm

Comment 2 T.C. Hollingsworth 2013-08-16 21:51:29 UTC
Looks like there's an rpm bug somewhere, since the package is correct since it installs cleanly fine.  Not sure why rpm isn't updating some symlinks.  :-(

This is easily "fixed" by upgrading npm; newer versions don't require inherits anymore.

But stuff down the stack does, and in case the symlinks are messed up there too I added a post-install script to nodejs-inherits that fixes up the symlinks when upgrading from older versions.

Sorry for the trouble.  Fixed builds will be queued for epel-testing shortly.

Comment 3 Fedora Update System 2013-08-16 22:02:36 UTC
nodejs-inherits-2.0.0-4.fc19 has been submitted as an update for Fedora 19.
https://admin.fedoraproject.org/updates/nodejs-inherits-2.0.0-4.fc19

Comment 4 Fedora Update System 2013-08-16 22:04:01 UTC
nodejs-inherits-2.0.0-4.fc18 has been submitted as an update for Fedora 18.
https://admin.fedoraproject.org/updates/nodejs-inherits-2.0.0-4.fc18

Comment 5 Fedora Update System 2013-08-16 22:16:52 UTC
npm-1.3.6-4.el6, node-gyp-0.10.6-2.el6, nodejs-assert-plus-0.1.4-1.el6, nodejs-bindings-1.1.1-1.el6, nodejs-block-stream-0.0.7-1.el6, nodejs-cryptiles-0.2.2-1.el6, nodejs-form-data-0.1.0-1.el6, nodejs-fstream-0.1.24-1.el6, nodejs-glob-3.2.6-1.el6, nodejs-hawk-1.0.0-1.el6, nodejs-mime-1.2.10-1.el6, nodejs-mute-stream-0.0.4-1.el6, nodejs-nopt-2.1.2-1.el6, nodejs-normalize-package-data-0.2.1-1.el6, nodejs-npmconf-0.1.2-1.el6, nodejs-npm-registry-client-0.2.27-2.el6, nodejs-read-1.0.5-1.el6, nodejs-read-installed-0.2.3-1.el6, nodejs-read-package-json-1.1.1-1.el6, nodejs-request-2.25.0-1.el6, nodejs-rimraf-2.2.2-1.el6, nodejs-semver-2.1.0-1.el6, nodejs-sha-1.2.1-1.el6, nodejs-tar-0.1.18-1.el6, nodejs-inherits-2.0.0-4.el6 has been submitted as an update for Fedora EPEL 6.
https://admin.fedoraproject.org/updates/FEDORA-EPEL-2013-11191/node-gyp-0.10.6-2.el6,nodejs-assert-plus-0.1.4-1.el6,nodejs-bindings-1.1.1-1.el6,nodejs-block-stream-0.0.7-1.el6,nodejs-cryptiles-0.2.2-1.el6,nodejs-form-data-0.1.0-1.el6,nodejs-fstream-0.1.24-1.el6,nodejs-glob-3.2.6-1.el6,nodejs-hawk-1.0.0-1.el6,nodejs-mime-1.2.10-1.el6,nodejs-mute-stream-0.0.4-1.el6,nodejs-nopt-2.1.2-1.el6,nodejs-normalize-package-data-0.2.1-1.el6,nodejs-npmconf-0.1.2-1.el6,nodejs-npm-registry-client-0.2.27-2.el6,nodejs-read-1.0.5-1.el6,nodejs-read-installed-0.2.3-1.el6,nodejs-read-package-json-1.1.1-1.el6,nodejs-request-2.25.0-1.el6,nodejs-rimraf-2.2.2-1.el6,nodejs-semver-2.1.0-1.el6,nodejs-sha-1.2.1-1.el6,nodejs-tar-0.1.18-1.el6,nodejs-inherits-2.0.0-4.el6,npm-1.3.6-4.el6

Comment 6 Duncan Wong 2013-08-17 06:24:02 UTC
Thanks for the quick turnaround!

Comment 7 Fedora Update System 2013-08-17 17:49:52 UTC
Package npm-1.3.6-4.el6, node-gyp-0.10.6-2.el6, nodejs-assert-plus-0.1.4-1.el6, nodejs-bindings-1.1.1-1.el6, nodejs-block-stream-0.0.7-1.el6, nodejs-cryptiles-0.2.2-1.el6, nodejs-form-data-0.1.0-1.el6, nodejs-fstream-0.1.24-1.el6, nodejs-glob-3.2.6-1.el6, nodejs-hawk-1.0.0-1.el6, nodejs-mime-1.2.10-1.el6, nodejs-mute-stream-0.0.4-1.el6, nodejs-nopt-2.1.2-1.el6, nodejs-normalize-package-data-0.2.1-1.el6, nodejs-npmconf-0.1.2-1.el6, nodejs-npm-registry-client-0.2.27-2.el6, nodejs-read-1.0.5-1.el6, nodejs-read-installed-0.2.3-1.el6, nodejs-read-package-json-1.1.1-1.el6, nodejs-request-2.25.0-1.el6, nodejs-rimraf-2.2.2-1.el6, nodejs-semver-2.1.0-1.el6, nodejs-sha-1.2.1-1.el6, nodejs-tar-0.1.18-1.el6, nodejs-inherits-2.0.0-4.el6:
* should fix your issue,
* was pushed to the Fedora EPEL 6 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=epel-testing npm-1.3.6-4.el6 node-gyp-0.10.6-2.el6 nodejs-assert-plus-0.1.4-1.el6 nodejs-bindings-1.1.1-1.el6 nodejs-block-stream-0.0.7-1.el6 nodejs-cryptiles-0.2.2-1.el6 nodejs-form-data-0.1.0-1.el6 nodejs-fstream-0.1.24-1.el6 nodejs-glob-3.2.6-1.el6 nodejs-hawk-1.0.0-1.el6 nodejs-mime-1.2.10-1.el6 nodejs-mute-stream-0.0.4-1.el6 nodejs-nopt-2.1.2-1.el6 nodejs-normalize-package-data-0.2.1-1.el6 nodejs-npmconf-0.1.2-1.el6 nodejs-npm-registry-client-0.2.27-2.el6 nodejs-read-1.0.5-1.el6 nodejs-read-installed-0.2.3-1.el6 nodejs-read-package-json-1.1.1-1.el6 nodejs-request-2.25.0-1.el6 nodejs-rimraf-2.2.2-1.el6 nodejs-semver-2.1.0-1.el6 nodejs-sha-1.2.1-1.el6 nodejs-tar-0.1.18-1.el6 nodejs-inherits-2.0.0-4.el6'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-EPEL-2013-11191/node-gyp-0.10.6-2.el6,nodejs-assert-plus-0.1.4-1.el6,nodejs-bindings-1.1.1-1.el6,nodejs-block-stream-0.0.7-1.el6,nodejs-cryptiles-0.2.2-1.el6,nodejs-form-data-0.1.0-1.el6,nodejs-fstream-0.1.24-1.el6,nodejs-glob-3.2.6-1.el6,nodejs-hawk-1.0.0-1.el6,nodejs-mime-1.2.10-1.el6,nodejs-mute-stream-0.0.4-1.el6,nodejs-nopt-2.1.2-1.el6,nodejs-normalize-package-data-0.2.1-1.el6,nodejs-npmconf-0.1.2-1.el6,nodejs-npm-registry-client-0.2.27-2.el6,nodejs-read-1.0.5-1.el6,nodejs-read-installed-0.2.3-1.el6,nodejs-read-package-json-1.1.1-1.el6,nodejs-request-2.25.0-1.el6,nodejs-rimraf-2.2.2-1.el6,nodejs-semver-2.1.0-1.el6,nodejs-sha-1.2.1-1.el6,nodejs-tar-0.1.18-1.el6,nodejs-inherits-2.0.0-4.el6,npm-1.3.6-4.el6
then log in and leave karma (feedback).

Comment 8 Fedora Update System 2013-08-27 23:25:26 UTC
nodejs-inherits-2.0.0-4.fc19 has been pushed to the Fedora 19 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 9 Fedora Update System 2013-08-27 23:34:44 UTC
nodejs-inherits-2.0.0-4.fc18 has been pushed to the Fedora 18 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 10 Fedora Update System 2013-09-30 18:45:33 UTC
nodejs-request-2.25.0-3.el6, npm-1.3.6-4.el6, node-gyp-0.10.6-2.el6, nodejs-assert-plus-0.1.4-1.el6, nodejs-bindings-1.1.1-1.el6, nodejs-block-stream-0.0.7-1.el6, nodejs-cryptiles-0.2.2-1.el6, nodejs-fstream-0.1.24-1.el6, nodejs-glob-3.2.6-1.el6, nodejs-hawk-1.0.0-1.el6, nodejs-mute-stream-0.0.4-1.el6, nodejs-nopt-2.1.2-1.el6, nodejs-normalize-package-data-0.2.1-1.el6, nodejs-npmconf-0.1.2-1.el6, nodejs-read-1.0.5-1.el6, nodejs-rimraf-2.2.2-1.el6, nodejs-semver-2.1.0-1.el6, nodejs-sha-1.2.1-1.el6, nodejs-tar-0.1.18-1.el6, nodejs-inherits-2.0.0-4.el6 has been pushed to the Fedora EPEL 6 stable repository.  If problems still persist, please make note of it in this bug report.