未找到任务目录 "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 并执行默认情况下的任务,否则 运行 具有命令名称的命令。
我正在尝试设置 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 并执行默认情况下的任务,否则 运行 具有命令名称的命令。