groc
groc copied to clipboard
Errors installing with latest uglify-js (2.2.1)
I just noticed this issue a few days ago, but it seems like the latest groc has broken with the latest uglify-js (and its dependency on source-map). I created a fork of groc to test with uglify-js 1.x.x and it installs fine.
All relevant info below:
npm http GET https://registry.npmjs.org/groc
npm http 304 https://registry.npmjs.org/groc
npm http GET https://registry.npmjs.org/coffee-script
npm http GET https://registry.npmjs.org/colors
npm http GET https://registry.npmjs.org/fs-tools
npm http GET https://registry.npmjs.org/optimist
npm http GET https://registry.npmjs.org/showdown
npm http GET https://registry.npmjs.org/glob
npm http GET https://registry.npmjs.org/spate
npm http GET https://registry.npmjs.org/uglify-js
npm http GET https://registry.npmjs.org/underscore
npm http GET https://registry.npmjs.org/autorequire
npm http 304 https://registry.npmjs.org/coffee-script
npm http 304 https://registry.npmjs.org/optimist
npm http 304 https://registry.npmjs.org/showdown
npm http 304 https://registry.npmjs.org/fs-tools
npm http 304 https://registry.npmjs.org/colors
npm http 304 https://registry.npmjs.org/glob
npm http 304 https://registry.npmjs.org/spate
npm http 304 https://registry.npmjs.org/underscore
npm http 304 https://registry.npmjs.org/uglify-js
npm http 304 https://registry.npmjs.org/autorequire
npm http GET https://registry.npmjs.org/graceful-fs
npm http GET https://registry.npmjs.org/inherits
npm http GET https://registry.npmjs.org/minimatch
npm http GET https://registry.npmjs.org/wordwrap
npm http GET https://registry.npmjs.org/underscore
npm http GET https://registry.npmjs.org/source-map
npm http 304 https://registry.npmjs.org/graceful-fs
npm http 304 https://registry.npmjs.org/inherits
npm http 304 https://registry.npmjs.org/minimatch
npm http GET https://registry.npmjs.org/sigmund
npm http 304 https://registry.npmjs.org/source-map
npm http GET https://registry.npmjs.org/lru-cache
npm http 304 https://registry.npmjs.org/underscore
npm http 304 https://registry.npmjs.org/wordwrap
npm ERR! error rolling back [email protected] Error: ENOTEMPTY, rmdir '/Users/jefulton/Documents/Projects/Nike/project/server/node_modules/groc/node_modules/fs-tools/node_modules/underscore'
npm ERR! Error: No compatible version found: source-map@'>=0.1.7- <0.2.0-'
npm ERR! Valid install targets:
npm ERR! ["0.0.0","0.1.0","0.1.1","0.1.2","0.1.3"]
npm ERR! at installTargetsError (/Users/jefulton/nvm/v0.6.19/lib/node_modules/npm/lib/cache.js:496:10)
npm ERR! at next_ (/Users/jefulton/nvm/v0.6.19/lib/node_modules/npm/lib/cache.js:446:17)
npm ERR! at next (/Users/jefulton/nvm/v0.6.19/lib/node_modules/npm/lib/cache.js:423:44)
npm ERR! at /Users/jefulton/nvm/v0.6.19/lib/node_modules/npm/lib/cache.js:416:5
npm ERR! at saved (/Users/jefulton/nvm/v0.6.19/lib/node_modules/npm/lib/utils/npm-registry-client/get.js:151:7)
npm ERR! at Object.oncomplete (/Users/jefulton/nvm/v0.6.19/lib/node_modules/npm/node_modules/graceful-fs/graceful-fs.js:230:7)
npm ERR! You may report this log at:
npm ERR! <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR! <[email protected]>
npm ERR!
npm ERR! System Darwin 10.8.0
npm ERR! command "node" "/Users/jefulton/nvm/v0.6.19/bin/npm" "install"
npm ERR! cwd /Users/jefulton/Documents/Projects/Nike/project/server
npm ERR! node -v v0.6.19
npm ERR! npm -v 1.1.24
npm ERR! message No compatible version found: source-map@'>=0.1.7- <0.2.0-'
npm ERR! message Valid install targets:
npm ERR! message ["0.0.0","0.1.0","0.1.1","0.1.2","0.1.3"]
npm http 304 https://registry.npmjs.org/sigmund
npm http 304 https://registry.npmjs.org/lru-cache
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /Users/jefulton/Documents/Projects/Nike/project/server/npm-debug.log
npm not ok
npm not ok
I ran into this problem too and it turns out it's because I was using an older node.js version.
npm ERR! Required: {"node":">=0.8.0"}
npm ERR! Actual: {"npm":"1.1.4","node":"0.6.12"}
You can fix this by upgrading to a newer version of node.js. I recommend using nvm to manage your node versions.
I haven't run into this issue in any projects since, but it sounds like it may still be an issue? I deleted my old fork, but I believe the problem arises because groc's package.json uses >= for all of its dependencies. So if a dependent project creates a new release which requires node 0.10., but groc still requires 0.8. the install will fail on that dependency. Not a huge issue, but can be confusing.
Freezing dependency versions would fix this, or limiting updates to minor releases/patches. This (old) article from Nodejitsu does a decent job of explaining it.
(Also if you check my console output, I am using nvm :stuck_out_tongue:)