[ https://issues.apache.org/jira/browse/CB-4058?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13707200#comment-13707200 ]
Filip Maj commented on CB-4058: ------------------------------- grunt is distributed on npm but it does not follow semver. In fact, npm itself does not follow semver as defined on semver.org (it follows a slight deviation). It is a pipe-dream at this point, although I agree that it would be a beneficial thing if everyone followed it. The issue is that cordova operates on (mobile) SDKs which we treat as running targets. They change at a whim, and thus, we must too. If Cordova were to follow semver, we would be releasing major revisions every other month (which, btw, I'm fine with, but the cordova dev community is a large group and it is not purely up to me). This issue has been discussed ad nauseum on the mailing list, but feel free to bring it back up if you'd like to chime in (or better yet maybe do a search on apache.markmail.org to find the old thread and resurrect it). > Unable to install CLI on Windows 7 > ---------------------------------- > > Key: CB-4058 > URL: https://issues.apache.org/jira/browse/CB-4058 > Project: Apache Cordova > Issue Type: Bug > Components: CLI > Environment: Windows 7 > npm v1.2.32 > Reporter: Lisa Seacat DeLuca > Assignee: Filip Maj > Fix For: 3.0.0 > > > I see the following output when I run npm install -g cordova > 2 other users also see the same problem, described here: > https://github.com/isaacs/npm/issues/3610#issuecomment-20206596 > ----- > output > ----- > C:\workspaces\cordovacli>npm install -g cordova > npm http GET https://registry.npmjs.org/cordova > npm http 304 https://registry.npmjs.org/cordova > npm http GET https://registry.npmjs.org/ncallbacks/1.0.0 > npm http GET https://registry.npmjs.org/xcode/0.5.1 > npm http GET https://registry.npmjs.org/open/0.0.3 > npm http GET https://registry.npmjs.org/follow-redirects > npm http GET https://registry.npmjs.org/prompt/0.2.7 > npm http GET https://registry.npmjs.org/tar > npm http GET https://registry.npmjs.org/plugman/0.7.14 > npm http GET https://registry.npmjs.org/shelljs/0.1.2 > npm http GET https://registry.npmjs.org/colors > npm http GET https://registry.npmjs.org/semver/1.1.0 > npm http GET https://registry.npmjs.org/plist > npm http GET https://registry.npmjs.org/ripple-emulator > npm http GET https://registry.npmjs.org/elementtree/0.1.3 > npm http GET https://registry.npmjs.org/glob > npm http GET https://registry.npmjs.org/express > npm http GET https://registry.npmjs.org/request > npm http 304 https://registry.npmjs.org/xcode/0.5.1 > npm http 304 https://registry.npmjs.org/ncallbacks/1.0.0 > npm http 304 https://registry.npmjs.org/plugman/0.7.14 > npm http 304 https://registry.npmjs.org/tar > npm http 304 https://registry.npmjs.org/prompt/0.2.7 > npm http 304 https://registry.npmjs.org/open/0.0.3 > npm http 304 https://registry.npmjs.org/follow-redirects > npm http 304 https://registry.npmjs.org/shelljs/0.1.2 > npm http 200 https://registry.npmjs.org/colors > npm http 304 https://registry.npmjs.org/semver/1.1.0 > npm http 304 https://registry.npmjs.org/plist > npm http 304 https://registry.npmjs.org/ripple-emulator > npm http 304 https://registry.npmjs.org/elementtree/0.1.3 > npm http 304 https://registry.npmjs.org/express > npm http 304 https://registry.npmjs.org/glob > npm http 200 https://registry.npmjs.org/request > npm WARN engine ncallbacks@1.0.0: wanted: {"node":"~0.6.7"} (current: > {"node":"v0.10.12","npm":"1.2.32"}) > npm http GET https://registry.npmjs.org/underscore > npm http GET https://registry.npmjs.org/sax/0.3.5 > npm http GET https://registry.npmjs.org/revalidator > npm http GET https://registry.npmjs.org/pkginfo > npm http GET https://registry.npmjs.org/graceful-fs > npm http GET https://registry.npmjs.org/inherits > npm http GET https://registry.npmjs.org/utile > npm http GET https://registry.npmjs.org/read > npm http GET https://registry.npmjs.org/winston > npm http GET https://registry.npmjs.org/cookie-signature/0.0.1 > npm http GET https://registry.npmjs.org/methods/0.0.1 > npm http GET https://registry.npmjs.org/minimatch > npm http GET https://registry.npmjs.org/inherits > npm http 200 https://registry.npmjs.org/underscore > npm http 304 https://registry.npmjs.org/sax/0.3.5 > npm http GET https://registry.npmjs.org/fstream > npm http GET https://registry.npmjs.org/buffer-crc32/0.1.1 > npm http GET https://registry.npmjs.org/commander/0.6.1 > npm http GET https://registry.npmjs.org/fresh/0.1.0 > npm http GET https://registry.npmjs.org/range-parser/0.0.4 > npm http GET https://registry.npmjs.org/cookie/0.0.5 > npm http GET https://registry.npmjs.org/debug > npm http GET https://registry.npmjs.org/mkdirp/0.3.3 > npm http GET https://registry.npmjs.org/block-stream > npm http GET https://registry.npmjs.org/connect/2.7.2 > npm http 304 https://registry.npmjs.org/inherits > npm http 304 https://registry.npmjs.org/utile > npm http GET https://registry.npmjs.org/send/0.1.0 > npm http 304 https://registry.npmjs.org/revalidator > npm http 304 https://registry.npmjs.org/pkginfo > npm http 304 https://registry.npmjs.org/graceful-fs > npm http 304 https://registry.npmjs.org/winston > npm http 304 https://registry.npmjs.org/read > npm http 304 https://registry.npmjs.org/cookie-signature/0.0.1 > npm http 304 https://registry.npmjs.org/minimatch > npm http 304 https://registry.npmjs.org/methods/0.0.1 > npm http 304 https://registry.npmjs.org/inherits > npm http 304 https://registry.npmjs.org/fstream > npm WARN package.json methods@0.0.1 No repository field. > npm WARN package.json methods@0.0.1 No readme data. > npm http 304 https://registry.npmjs.org/buffer-crc32/0.1.1 > npm http 304 https://registry.npmjs.org/fresh/0.1.0 > npm http 304 https://registry.npmjs.org/range-parser/0.0.4 > npm http 304 https://registry.npmjs.org/cookie/0.0.5 > npm WARN package.json cookie-signature@0.0.1 No repository field. > npm http GET https://registry.npmjs.org/node-uuid/1.3.3 > npm http GET https://registry.npmjs.org/pegjs/0.6.2 > npm http 200 https://registry.npmjs.org/commander/0.6.1 > npm http 304 https://registry.npmjs.org/mkdirp/0.3.3 > npm WARN package.json range-parser@0.0.4 No repository field. > npm http 304 https://registry.npmjs.org/block-stream > npm http 304 https://registry.npmjs.org/connect/2.7.2 > npm http GET https://registry.npmjs.org/commander/-/commander-0.6.1.tgz > npm WARN package.json fresh@0.1.0 No repository field. > npm http 304 https://registry.npmjs.org/send/0.1.0 > npm http 304 https://registry.npmjs.org/node-uuid/1.3.3 > npm http 304 https://registry.npmjs.org/pegjs/0.6.2 > npm WARN package.json send@0.1.0 No repository field. > npm http 200 https://registry.npmjs.org/debug > npm http 200 https://registry.npmjs.org/commander/-/commander-0.6.1.tgz > npm http GET https://registry.npmjs.org/mute-stream > npm http GET https://registry.npmjs.org/lru-cache > npm http GET https://registry.npmjs.org/sigmund > npm http 304 https://registry.npmjs.org/mute-stream > npm http 304 https://registry.npmjs.org/lru-cache > npm http 304 https://registry.npmjs.org/sigmund > npm http GET https://registry.npmjs.org/ncp > npm http GET https://registry.npmjs.org/rimraf > npm http GET https://registry.npmjs.org/rimraf > npm http GET https://registry.npmjs.org/deep-equal > npm http 304 https://registry.npmjs.org/rimraf > npm http 304 https://registry.npmjs.org/rimraf > npm http GET https://registry.npmjs.org/i > npm http GET https://registry.npmjs.org/mkdirp > npm http GET https://registry.npmjs.org/mkdirp > npm http 304 https://registry.npmjs.org/deep-equal > npm http GET https://registry.npmjs.org/eyes > npm http GET https://registry.npmjs.org/stack-trace > npm http GET https://registry.npmjs.org/cycle > npm http 304 https://registry.npmjs.org/mkdirp > npm http 304 https://registry.npmjs.org/mkdirp > npm http 304 https://registry.npmjs.org/i > npm http 304 https://registry.npmjs.org/stack-trace > npm http 304 https://registry.npmjs.org/cycle > npm http GET https://registry.npmjs.org/async > npm http 200 https://registry.npmjs.org/ncp > npm http 304 https://registry.npmjs.org/eyes > npm WARN package.json eyes@0.1.8 No repository field. > npm http GET https://registry.npmjs.org/mime/1.2.6 > npm http GET https://registry.npmjs.org/xmldom > npm http GET https://registry.npmjs.org/xmlbuilder > npm http 304 https://registry.npmjs.org/mime/1.2.6 > npm http 304 https://registry.npmjs.org/xmldom > npm http 304 https://registry.npmjs.org/xmlbuilder > npm http GET https://registry.npmjs.org/osenv > npm http GET https://registry.npmjs.org/dep-graph/1.1.0 > npm http GET https://registry.npmjs.org/nopt > > ripple-emulator@0.9.17 preinstall > > C:\Users\IBM_ADMIN\AppData\Roaming\npm\node_modules\cordova\node_modules\ripple-emulator > > node thirdparty/ludicrous.js > npm ERR! Error: spawn ENOENT > npm ERR! at errnoException (child_process.js:980:11) > npm ERR! at Process.ChildProcess._handle.onexit (child_process.js:771:34) > npm ERR! If you need help, you may report this log at: > npm ERR! <http://github.com/isaacs/npm/issues> > npm ERR! or email it to: > npm ERR! <n...@googlegroups.com> > npm ERR! System Windows_NT 6.1.7601 > npm ERR! command "C:\\IBM\\OpenSource\\nodejs\\\\node.exe" > "C:\\IBM\\OpenSource\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install" > "-g" "cordova" > npm ERR! cwd C:\workspaces\cordovacli > npm ERR! node -v v0.10.12 > npm ERR! npm -v 1.2.32 > npm ERR! syscall spawn > npm ERR! code ENOENT > npm ERR! errno ENOENT > npm http 304 https://registry.npmjs.org/osenv > npm http 304 https://registry.npmjs.org/dep-graph/1.1.0 > npm http 304 https://registry.npmjs.org/nopt > npm http GET https://registry.npmjs.org/ncallbacks/1.1.0 > npm http GET https://registry.npmjs.org/underscore/1.4.4 > npm http GET https://registry.npmjs.org/bplist-parser > npm http 304 https://registry.npmjs.org/ncallbacks/1.1.0 > npm http 304 https://registry.npmjs.org/bplist-parser > npm http 200 https://registry.npmjs.org/underscore/1.4.4 > npm http GET https://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz > npm http 200 https://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz > npm http 200 https://registry.npmjs.org/async > npm http GET https://registry.npmjs.org/pause/0.0.1 > npm http GET https://registry.npmjs.org/formidable/1.0.11 > npm http GET https://registry.npmjs.org/bytes/0.1.0 > npm http GET https://registry.npmjs.org/qs/0.5.1 > npm http 304 https://registry.npmjs.org/bytes/0.1.0 > npm http 304 https://registry.npmjs.org/pause/0.0.1 > npm http 304 https://registry.npmjs.org/formidable/1.0.11 > npm http 304 https://registry.npmjs.org/qs/0.5.1 > npm WARN package.json bytes@0.1.0 No repository field. > npm WARN package.json pause@0.0.1 No repository field. > npm WARN package.json formidable@1.0.11 No repository field. > npm http GET https://registry.npmjs.org/abbrev > npm http GET https://registry.npmjs.org/underscore/1.2.1 > npm http GET https://registry.npmjs.org/pegjs/0.6.2 > npm http GET https://registry.npmjs.org/node-uuid/1.3.3 > npm http 304 https://registry.npmjs.org/abbrev > npm http 200 https://registry.npmjs.org/underscore/1.2.1 > npm http GET https://registry.npmjs.org/underscore/-/underscore-1.2.1.tgz > npm http 304 https://registry.npmjs.org/node-uuid/1.3.3 > npm http 304 https://registry.npmjs.org/pegjs/0.6.2 > npm http 200 https://registry.npmjs.org/underscore/-/underscore-1.2.1.tgz > npm ERR! > npm ERR! Additional logging details can be found in: > npm ERR! C:\workspaces\cordovacli\npm-debug.log > npm ERR! not ok code 0 > C:\workspaces\cordovacli> -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira