2015-09-25 101 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