未找到任务目录 "grunt"

Tasks directory "grunt" not found

我正在尝试设置 Grunt 任务,但我在终端中收到警告

*>> Tasks directory "grunt" not found.

Warning: Task "undefined" not found. Use --force to continue.

Aborted due to warnings.*

我正在学习这个视频 3 中 Carlos Santana 先生制作的开发节点 + Angular 的一个示例:https://www.youtube.com/watch?v=juDeLmGjX8k

Grunt 版本:

grunt-cli v1.2.0 咕噜 v1.0.1

节点版本:v5.1.0

Gruntfile.js

'use strict';

module.exports = function(grunt){
    grunt.loadNpmTasks('grunt-jscs');
    grunt.loadNpmTasks('grunt-contrib-jshint');
    grunt.loadNpmTasks('grunt-githooks');
    grunt.loadNpmTasks('grunt-shell');
    grunt.loadTasks('grunt');

    grunt.initConfig({
        pkg: grunt.file.readJSON('package.json'),
        jscs:{
            options:{
                config: '.jscsrc',
                reporter: 'checkstyle'
            },
            src: [
                'Gruntfile.js',
                'src/**/*.js',
                '!src/public/bower_components/**'
            ]
        },
        jshint:{
            options: {
                jshintrc: '.jshintrc',
                reporter: 'checkstyle'
            },
            src: [
                'Gruntfile.js',
                'src/**/*.js',
                '!src/public/bower_components/**'
            ]
        },
        githooks: {
            all: {
                options:{
                    endMarker: ''
                },
                'pre-commit': 'analyze',
                'post-checkout': 'shell:gitLog',
                'post-commit': 'shell:gitLog',
                'post-merge': 'shell:gitLog shell:npmInstall'
            }
        },
        shell: {
            gitLog: {
                command: 'git log -1 > git-info.txt'
            },
            npmInstall: {
                command: 'npm install'
            },
            serverLogs: {
                command: 'pm2 logs'
            },
            serverStatus: {
                command: 'pm2 list'
            },
            serverStop: {
                command: 'pm2 kill'
            },
            serverDelete: {
                command: 'pm2 delete pm2.json'
            },
            serverStart:{
                command: 'pm2 start pm2.json'
            }
        }
    });
    grunt.registerTask('default', ['analyze']);
    grunt.registerTask('analyze', 'Validate code style' ['jshint', 'jscs']);
    grunt.registerTask('status', 'Shows status os node processes', ['shell:serverStatus']);
    grunt.registerTask('stop', 'Stop node processes', ['shell:serverStop']);
    grunt.registerTask('start', 'Start node processes', ['shell:serverStart']);
    grunt.registerTask('restart', 'Restart node processes', ['stop', 'start']);
    grunt.registerTask('logs', 'Tail logs for all pm2 processes', ['shell:serverLogs']);
};

Package.json

{
  "name": "StudioVictory",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "preinstall": "npm prune",
    "postinstall": "bower prune; bower install; grunt githooks"
  },
  "autor": "Carlos Santana",
  "license": "MIT",
  "repository": {
    "type": "git",
    "url": "git://github.com/XXX/XX.git"
  },
  "dependencies": {
    "body-parser": "~1.15.1",
    "cookie-parser": "~1.4.3",
    "debug": "~2.2.0",
    "express": "~4.13.4",
    "express-handlebars": "latest",
    "lodash": "*",
    "morgan": "~1.7.0",
    "stylus": "latest",
    "nib": "latest",
    "js-yaml": "latest"
  },
  "devDependencies": {
    "bower": "latest",
    "grunt": "latest",
    "grunt-contrib-jshint": "latest",
    "grunt-githooks": "latest",
    "grunt-jscs": "latest",
    "grunt-npm-install": "latest",
    "grunt-shell": "latest"
  }
}

正在执行:grunt -v:

Initializing
Command-line options: --verbose

Reading "Gruntfile.js" Gruntfile...OK

Registering Gruntfile tasks.

Registering "grunt-jscs" local Npm module tasks.
Reading C:\JACS\WampServer2.5\www\NODEJS\StudioVictory\node_modules\grunt-jscs\package.json...OK
Parsing C:\JACS\WampServer2.5\www\NODEJS\StudioVictory\node_modules\grunt-jscs\package.json...OK
Loading "jscs.js" tasks...OK
+ jscs

Registering "grunt-contrib-jshint" local Npm module tasks.
Reading C:\JACS\WampServer2.5\www\NODEJS\StudioVictory\node_modules\grunt-contrib-jshint\package.json...OK
Parsing C:\JACS\WampServer2.5\www\NODEJS\StudioVictory\node_modules\grunt-contrib-jshint\package.json...OK
Loading "jshint.js" tasks...OK
+ jshint

Registering "grunt-githooks" local Npm module tasks.
Reading C:\JACS\WampServer2.5\www\NODEJS\StudioVictory\node_modules\grunt-githooks\package.json...OK
Parsing C:\JACS\WampServer2.5\www\NODEJS\StudioVictory\node_modules\grunt-githooks\package.json...OK
Loading "githooks.js" tasks...OK
+ githooks

Registering "grunt-shell" local Npm module tasks.
Reading C:\JACS\WampServer2.5\www\NODEJS\StudioVictory\node_modules\grunt-shell\package.json...OK
Parsing C:\JACS\WampServer2.5\www\NODEJS\StudioVictory\node_modules\grunt-shell\package.json...OK
Loading "shell.js" tasks...OK
+ shell

Registering "grunt" tasks.
>> Tasks directory "grunt" not found.
Reading package.json...OK
Parsing package.json...OK
Initializing config...OK
Loading "Gruntfile.js" tasks...OK
+ analyze, default, logs, restart, start, status, stop

No tasks specified, running default tasks.
Running tasks: default

Running "default" task

Running "analyze" task
Warning: Task "undefined" not found. Use --force to continue.

Aborted due to warnings.

正在执行:grunt grunt

C:\JACS\WampServer2.5\www\NODEJS\StudioVictory>grunt grunt
>> Tasks directory "grunt" not found.
Warning: Task "grunt" not found. Use --force to continue.

Aborted due to warnings.

这意味着g运行t找不到您要运行的文件。检查该目录中是否有 Grunfile.js。你有没有安装g运行t模块?您可以 运行 grunt -v 了解更多详情。

我假设您的 g运行tfile 有一个名为 g运行t 的任务目录,您并不是故意这样称呼它的。我需要查看更多代码才能确定。

(代表OP发表).

Grunt 需要一个文件夹 "grunt" 行:grunt.loadTasks('grunt') in Gruntfile.js

文件夹里也有"grunt"需要一个文件"grunt-server.js"

参见:https://github.com/CodeJobs/StudioVictory/tree/develop/grunt

此文件夹是在视频 6 中创建的。

我看到了你的配置和命令我想也许你没有任何 g运行t 命令任务,比如 grunt.registerTask('default', ['analyze']);那么 g运行t 如何理解 g运行t g运行t 命令。要么你必须创建一个名称为 g运行t 的任务,要么 运行 只是 g运行t 从你的 Gruntfile.js 所在的根目录开始。

所以请 运行 g运行t 只有它可能会解决您的问题。 g运行t 仅命令查找 Gruntfile.js 并执行默认情况下的任务,否则 运行 具有命令名称的命令。