使用OSX Maveriks,iTerminal,zsh。
问题:无论您指定的任务是什么,Grunt都只运行默认任务。 问题:它只发生在一台计算机上。
grunt不能运行的原因可能是默认任务。我已经和Grunt合作了很长时间,我们在我工作的公司使用它。除了1名单身同事,如果他只是grunt myTask
运行grunt
就像一样,即使我运行像{{{}}那样的任务,一切都工作得很顺利{1}}它会忽略它,而看起来就像它运行grunt myNotExistentTask
一样。
我确实检查了愚蠢的错误:
grunt
。我不有时间(但我会检查这些):
npm install
或其他人,我认为它在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
});
};
之类的事情,这背后有一个原因。基本上,我们的项目太大了,我们需要更改每项任务的设置以提高性能(例如,不要观看太多文件等)。
我用不同的方式搜索,以前找不到任何有关此事情的信息。任何想法都受到欢迎。
我忘了提到他已经在这个项目工作了一段时间,我们刚刚注意到,因为他几乎不需要使用任何其他任务,而是几天前需要使用其他任务时的默认任务,总之,我们不知道它何时或为何开始。
答案 0 :(得分:0)
后:
并且失败了,我们检查了咕噜咕噜的路径
将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 。