2015-09-26 65 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的注意事项及注意事项