Grunt只运行默认任务

时间:2015-09-26 15:39:19

标签: node.js gruntjs osx-mavericks

使用OSX Maveriks,iTerminal,zsh。

问题:无论您指定的任务是什么,Grunt都只运行默认任务。 问题:它只发生在一台计算机上。

grunt不能运行的原因可能是默认任务。我已经和Grunt合作了很长时间,我们在我工作的公司使用它。除了1名单身同事,如果他只是grunt myTask运行grunt 就像一样,即使我运行像{{{}}那样的任务,一切都工作得很顺利{1}}它会忽略它,而看起来就像它运行grunt myNotExistentTask一样。

我确实检查了愚蠢的错误:

  1. 检查我是否正在访问同一个项目文件夹(多次)。
  2. 我删除了默认任务,看它是否有抱怨,但确实如此。
  3. 我检查过Gruntfile没有抛出错误。然后我被迫抛出错误,看它是否会抱怨,而且确实如此。
  4. 运行grunt
  5. 检查bashrc和zshrc是否有一个grunt命令。
  6. 显然可以访问grunt。
  7. 在默认终端和iTerm中运行它。
  8. “你试过打开和关闭它吗?”是的,我确实重新安装了笔记本电脑。
  9. 我试过多台同事的笔记本电脑,只发生在一台笔记本电脑上。
  10. 有时间(但我会检查这些):

    1. 测试在他的笔记本电脑中的其他地方创建一个简单的Grunt文件,但我有一种奇怪的感觉,它会表现得一样。
    2. 重新安装grunt。那会有帮助吗?
    3. npm install或其他人,我认为它在grunt --version中有指定的版本。
    4. 我们正在使用:

      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 }); }; 之类的事情,这背后有一个原因。基本上,我们的项目太大了,我们需要更改每项任务的设置以提高性能(例如,不要观看太多文件等)。

      我用不同的方式搜索,以前找不到任何有关此事情的信息。任何想法都受到欢迎。

      修改

      我忘了提到他已经在这个项目工作了一段时间,我们刚刚注意到,因为他几乎不需要使用任何其他任务,而是几天前需要使用其他任务时的默认任务,总之,我们不知道它何时或为何开始。

1 个答案:

答案 0 :(得分:0)

后:

  1. 删除并克隆回购。
  2. 删除npm_modules。
  3. 重新安装所有内容。
  4. 创建一个独立的项目来测试此问题。
  5. 由于@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
    

    我们删除了额外的grunt二进制文件:

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

    一切都开始正常了。我认为问题是他在全球安装了grunt而不是grunt-cli,虽然我不确定。

    this question最受欢迎的答案显示了如何安装grunt的 dos and donts