2015-09-26 61 views
0

使用OSX Maveriks,iTerminal,zsh。Grunt只運行默認任務

問題:無論您指定的任務如何,Grunt都只運行默認任務。 問題:只發生在1臺電腦中。

什麼可能是咕嚕不運行的原因,但默認的任務。我已經和Grunt一起工作了很長時間,我們在我工作的公司使用它。一切都已經工作,除了1組的同事完全光滑的,當他跑grunt myTask,如果他是一個只運行grunt,即使我運行一個由任務喜歡grunt myNotExistentTask它忽略了它,並再次看起來像它運行grunt

我沒有檢查愚蠢的錯誤:

  1. 經過我正在訪問同一個項目文件夾(多次)。
  2. 我刪除了默認任務,看看它是否有抱怨,並確實如此。
  3. 我檢查了Gruntfile沒有拋出錯誤。然後我不得不拋出錯誤,看看它是否會抱怨,而且確實如此。
  4. 運行npm install
  5. 檢查bashrc和zshrc是否有咕嚕聲或其他什麼。
  6. 顯然可以聽到咕嚕聲。
  7. 在默認終端和iTerm中運行它。
  8. 「您是否試圖打開和關閉它?」是的,我沒有重新安裝筆記本電腦。
  9. 我嘗試了多個同事的筆記本電腦,它只發生在一臺筆記本電腦。

我沒有有時間(但我會檢查這些):

  1. 測試在他的筆記本電腦創建一個簡單的Gruntfile其他地方,但我有一種奇怪的感覺,它會表現得一樣的方法。
  2. 重新安裝咕嚕聲。這會有幫助嗎?
  3. grunt --version或其他爲此事,我假定它有在package.json指定的版本。

我們使用:

"grunt-cli": "^0.1.13", 
"grunt": "^0.4.4" 

代碼這裏沒有造成問題,因爲每一臺計算機上運行,​​但一個。我不能表現出實際的代碼,但我可以給你萬一有我不知道一些神祕的東西樣板:

module.exports = function(grunt) { 

    grunt.initConfig({ 

    pkg : grunt.file.readJSON("package.json"), 

    someTask : { 
     options : { 

     }, 
     target1 : { 

     } 
    } 
    }); 

    grunt.loadNpmTasks("dependency1"); 
    grunt.loadNpmTasks("dependency2"); 
    grunt.loadNpmTasks("etc"); 

    grunt.registerTask("default", function() { 
    // creates a server with one of the dependencies 
    }); 

    grunt.registerTask("w", function() { 
    // creates a watch with one of the dependencies 
    }); 

}; 

有背後的原因,我們不能簡單地做這樣的事情的理由grunt.registerTask("default", [".."])。基本上,我們的項目太大,我們需要更改每項任務的設置以提高性能(例如,不要觀看太多文件等)。

我GOOGLE了這種不同的方式,並找不到任何有關此發生之前。任何想法都歡迎。

編輯

我忘了提,他一直在與項目工作了一段時間,我們最近剛剛注意到,因爲他從來不需要使用任何其他的任務,但默認任務,直到前幾天,當他需要總而言之,我們不知道何時或爲何開始。

+0

嗨迷友,我有相同的環境,但我從來沒有遇到過這類問題的麻煩。我想跟隨線索找出可能是什麼問題。一個愚蠢的問題:項目中的所有模塊都安裝了根權限(需要時)? – Pierfrancesco

+0

運行'grunt --help'時列出了哪些任務? – GarlicFries

+0

以及在他的機器上運行'哪個grunt'的結果是什麼? –

回答

0

後:

  1. 刪除和克隆回購。
  2. 正在刪除npm_modules。
  3. 重新安裝一切。
  4. 創建一個獨立的項目來測試這個問題。

和失敗,我們檢查的路徑通過@XavierPriour

到咕嚕感謝評論使用的zsh用的iTerm:

➜ folder git:(branch) which grunt 
/usr/local/bin/grunt 
➜ folder git:(branch) type -a grunt 
grunt is /usr/local/bin/grunt 
grunt is /usr/bin/grunt 

我們刪除多餘的咕嚕二進制:

➜ folder git:(branch) cd /usr/bin 
➜ bin sudo -rm grunt 

一切開始正常工作。我認爲這個問題是他在全球範圍內安裝了grunt,而不僅僅是grunt-cli,儘管我不確定。

this question的最受歡迎答案顯示如何安裝grunt的注意事項及注意事項