2015-09-25 136 views
2

我来grunt build任务成功完成,但因为我合并我的项目,一些开发商的另一个同事的编辑,它突然失败,错误我以前从来没见过:突然咕噜构建失败

grunt build 
Loading "imagemin.js" tasks...ERROR 
>> Error: Cannot find module 'process-nextick-args' 
Loading "cdnify.js" tasks...ERROR 
>> Error: Cannot find module 'abbrev' 
Loading "grunt-karma.js" tasks...ERROR 
>> Error: Cannot find module 'uglify-js' 

Running "clean:dist" (clean) task 
>> 0 paths cleaned. 

Running "wiredep:app" (wiredep) task 
Warning: Cannot find module './lang/clone' Use --force to continue. 

Aborted due to warnings. 


Execution Time (2015-09-25 09:44:30 UTC) 
wiredep:app 31ms 
Total 31ms 

在Gruntfile.js中,我在concurrent:distbuild任务中评论了imagemincdnify

我做错了什么?

这里有大约的东西的版本我使用的一些信息:

node -v && npm -v && grunt --version 
v0.10.35 
2.1.1 
grunt-cli v0.1.13 
grunt v0.4.5 

此外,我试过grunt build之前运行的npm install,但我有这些警告我已经以前从未见过的,除了非常三个一:

npm WARN package.json [email protected] No description 
npm WARN package.json [email protected] No repository field. 
npm WARN package.json [email protected] No README data 
npm WARN unmet dependency C:\Users\gesposito\Documents\Developer\Software\Production\reportmed\api_ui\node_modules\grunt-contrib-imagemin\node_modules\imagemin\node_modules\vinyl-fs\node_modules\glob-watcher\node_modules\gaze\node_modules\globule\node_modules\glob requires [email protected]'~1.2.0' but will load 
npm WARN unmet dependency C:\Users\gesposito\Documents\Developer\Software\Production\reportmed\api_ui\node_modules\grunt-contrib-imagemin\node_modules\imagemin\node_modules\vinyl-fs\node_modules\graceful-fs, 
npm WARN unmet dependency which is version 3.0.8 
npm WARN unmet dependency C:\Users\gesposito\Documents\Developer\Software\Production\reportmed\api_ui\node_modules\grunt-contrib-imagemin\node_modules\imagemin\node_modules\imagemin-gifsicle\node_modules\gifsicle\node_modules\bin-build\node_modules\download\node_modules\gulp-decompress\node_modules\gulp-util requires objec[email protected]'^3.0.0' but will load 
npm WARN unmet dependency C:\Users\gesposito\Documents\Developer\Software\Production\reportmed\api_ui\node_modules\grunt-contrib-imagemin\node_modules\imagemin\node_modules\imagemin-gifsicle\node_modules\gifsicle\node_modules\bin-build\node_modules\download\node_modules\object-assign, 
npm WARN unmet dependency which is version 4.0.1 
npm WARN unmet dependency C:\Users\gesposito\Documents\Developer\Software\Production\reportmed\api_ui\node_modules\grunt-contrib-imagemin\node_modules\imagemin\node_modules\imagemin-gifsicle\node_modules\gifsicle\node_modules\bin-wrapper\node_modules\download\node_modules\gulp-decompress\node_modules\gulp-util requires [email protected]'^3.0.0' but will load 
npm WARN unmet dependency C:\Users\gesposito\Documents\Developer\Software\Production\reportmed\api_ui\node_modules\grunt-contrib-imagemin\node_modules\imagemin\node_modules\imagemin-gifsicle\node_modules\gifsicle\node_modules\bin-wrapper\node_modules\download\node_modules\object-assign, 
npm WARN unmet dependency which is version 4.0.1 
npm WARN unmet dependency C:\Users\gesposito\Documents\Developer\Software\Production\reportmed\api_ui\node_modules\grunt-contrib-imagemin\node_modules\imagemin\node_modules\imagemin-jpegtran\node_modules\jpegtran-bin\node_modules\bin-build\node_modules\download\node_modules\gulp-decompress\node_modules\gulp-util requires [email protected]'^3.0.0' but will load 
npm WARN unmet dependency C:\Users\gesposito\Documents\Developer\Software\Production\reportmed\api_ui\node_modules\grunt-contrib-imagemin\node_modules\imagemin\node_modules\imagemin-jpegtran\node_modules\jpegtran-bin\node_modules\bin-build\node_modules\download\node_modules\object-assign, 
npm WARN unmet dependency which is version 4.0.1 
npm WARN unmet dependency C:\Users\gesposito\Documents\Developer\Software\Production\reportmed\api_ui\node_modules\grunt-contrib-imagemin\node_modules\imagemin\node_modules\imagemin-jpegtran\node_modules\jpegtran-bin\node_modules\bin-wrapper\node_modules\download\node_modules\gulp-decompress\node_modules\gulp-util requires [email protected]'^3.0.0' but will load 
npm WARN unmet dependency C:\Users\gesposito\Documents\Developer\Software\Production\reportmed\api_ui\node_modules\grunt-contrib-imagemin\node_modules\imagemin\node_modules\imagemin-jpegtran\node_modules\jpegtran-bin\node_modules\bin-wrapper\node_modules\download\node_modules\object-assign, 
npm WARN unmet dependency which is version 4.0.1 
npm WARN unmet dependency C:\Users\gesposito\Documents\Developer\Software\Production\reportmed\api_ui\node_modules\grunt-contrib-imagemin\node_modules\imagemin\node_modules\imagemin-optipng\node_modules\optipng-bin\node_modules\bin-build\node_modules\download\node_modules\gulp-decompress\node_modules\gulp-util requires [email protected]'^3.0.0' but will load 
npm WARN unmet dependency C:\Users\gesposito\Documents\Developer\Software\Production\reportmed\api_ui\node_modules\grunt-contrib-imagemin\node_modules\imagemin\node_modules\imagemin-optipng\node_modules\optipng-bin\node_modules\bin-build\node_modules\download\node_modules\object-assign, 
npm WARN unmet dependency which is version 4.0.1 
npm WARN unmet dependency C:\Users\gesposito\Documents\Developer\Software\Production\reportmed\api_ui\node_modules\grunt-contrib-imagemin\node_modules\imagemin\node_modules\imagemin-optipng\node_modules\optipng-bin\node_modules\bin-wrapper\node_modules\download\node_modules\gulp-decompress\node_modules\gulp-util requires [email protected]'^3.0.0' but will load 
npm WARN unmet dependency C:\Users\gesposito\Documents\Developer\Software\Production\reportmed\api_ui\node_modules\grunt-contrib-imagemin\node_modules\imagemin\node_modules\imagemin-optipng\node_modules\optipng-bin\node_modules\bin-wrapper\node_modules\download\node_modules\object-assign, 
npm WARN unmet dependency which is version 4.0.1 
npm WARN unmet dependency C:\Users\gesposito\Documents\Developer\Software\Production\reportmed\api_ui\node_modules\grunt-google-cdn\node_modules\bower\node_modules\inquirer\node_modules\chalk\node_modules\has-ansi requires [email protected]'^0.2.0' but will load 
npm WARN unmet dependency C:\Users\gesposito\Documents\Developer\Software\Production\reportmed\api_ui\node_modules\grunt-google-cdn\node_modules\bower\node_modules\inquirer\node_modules\ansi-regex, 
npm WARN unmet dependency which is version 1.1.1 
npm WARN unmet dependency C:\Users\gesposito\Documents\Developer\Software\Production\reportmed\api_ui\node_modules\grunt-google-cdn\node_modules\bower\node_modules\inquirer\node_modules\chalk\node_modules\strip-ansi requires [email protected]'^0.2.1' but will load 
npm WARN unmet dependency C:\Users\gesposito\Documents\Developer\Software\Production\reportmed\api_ui\node_modules\grunt-google-cdn\node_modules\bower\node_modules\inquirer\node_modules\ansi-regex, 
npm WARN unmet dependency which is version 1.1.1 
npm WARN unmet dependency C:\Users\gesposito\Documents\Developer\Software\Production\reportmed\api_ui\node_modules\grunt-google-cdn\node_modules\google-cdn\node_modules\bower requires [email protected]'0.5.0' but will load 
npm WARN unmet dependency C:\Users\gesposito\Documents\Developer\Software\Production\reportmed\api_ui\node_modules\grunt-google-cdn\node_modules\chalk, 
npm WARN unmet dependency which is version 0.5.1 

编辑

我离开这里我package.json的相关部分:

"devDependencies": { 
    "grunt": "^0.4.5", 
    "grunt-autoprefixer": "^2.1.0", 
    "grunt-concurrent": "^1.0.0", 
    "grunt-contrib-clean": "^0.6.0", 
    "grunt-contrib-compass": "^1.0.1", 
    "grunt-contrib-concat": "^0.5.0", 
    "grunt-contrib-connect": "^0.9.0", 
    "grunt-contrib-copy": "^0.7.0", 
    "grunt-contrib-cssmin": "^0.11.0", 
    "grunt-contrib-htmlmin": "^0.3.0", 
    "grunt-contrib-imagemin": "^0.9.2", 
    "grunt-contrib-jshint": "^0.10.0", 
    "grunt-contrib-uglify": "^0.7.0", 
    "grunt-contrib-watch": "^0.6.1", 
    "grunt-filerev": "^2.1.2", 
    "grunt-google-cdn": "^0.4.3", 
    "grunt-karma": "^0.10.1", 
    "grunt-newer": "^1.1.0", 
    "grunt-ng-annotate": "^0.8.0", 
    "grunt-svgmin": "^2.0.0", 
    "grunt-usemin": "^3.0.0", 
    "grunt-wiredep": "^2.0.0", 
    "jasmine-core": "^2.2.0", 
    "jshint-stylish": "^1.0.0", 
    "karma": "^0.12.31", 
    "karma-chrome-launcher": "^0.1.8", 
    "karma-jasmine": "^0.3.5", 
    "karma-phantomjs-launcher": "^0.1.4", 
    "load-grunt-tasks": "^2.0.0", 
    "time-grunt": "^1.0.0" 
    }, 
    "engines": { 
    "node": ">=0.10.0" 
    }, 
    "scripts": { 
    "test": "grunt test" 
    } 

编辑

请记住,我的同事的package.json不显示从我的任何区别。

+0

是错误的3个任务(imagemin,cdnify,咕噜 - 卡玛)在你的package.json上市? –

+0

嗨,检查我的编辑。 – Gargaroz

+1

我实际上有同样的问题,试图拉下一个项目,做了npm安装/ bower安装,它不会运行... –

回答

5

看起来你已经过时/混合npm模块 - 你合并了your node_modules文件夹与你的同事?

无论如何,我建议删除您的本地node_modules目录,然后重新运行npm install

一旦你又稳定,正确的流程应该是:

  • node_modules应该出源代码控制的
  • 当你第一次拿到项目,运行npm install设置你的本地node_modules
  • 那么你只需要在package.json更改
  • 时触碰它,在这种情况下,你运行npm update在本地安装新版本
+0

如果我删除'node_modules'它看起来像一切正常,但这意味着我必须在每次构建之前从头开始删除并生成'node_modules',这是浪费时间和资源的。 我该如何告诉npm只安装合并模块,这些模块与我的同事冲突(这应该可以解决冲突,对我有利?)? – Gargaroz

+0

'node_modules'只有在你的'package.json'发生变化时才会改变,当它发生时,你可以让npm只更新有什么变化。我用适当的工作流程编辑了我的答案。 –

+0

感谢您的详细更新,我也编辑了我的问题。 – Gargaroz