关于gruntjs:Grunt concat因“无法找到当地的咕噜声”而失败

Grunt concat failing with “Unable to find local grunt”

我已经成功安装了grunt-like so`npm install-g grunt cli。

我也成功地安装了呼噜呼噜的控件库:npm install grunt-contrib-concat --save-dev

我创建了一个package.json

1
2
3
4
5
6
7
8
9
{
 "name":"my-project-name",
 "version":"0.1.0",
 "devDependencies": {
   "grunt":"~0.4.1",
   "grunt-contrib-jshint":"~0.1.1",
   "grunt-contrib-nodeunit":"~0.1.2"
  }
}

和一个Gruntfile.js

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
module.exports = function(grunt) {

grunt.initConfig({
  pkg: grunt.file.readJSON('package.json'),
  concat: {
    options: {
      separator: ';'
    },
    dist: {
      src: ['src/init.js', 'src/Game.js', 'ui/Ui.js', 'ui/AddBTS.js', 'ui/Toolbar.js'],
      dest: 'built.js'
    }
  }
});

grunt.loadNpmTasks('grunt-contrib-concat');

};

现在,当我运行grunt concat时,我得到以下错误:

致命错误:找不到本地呼噜声。如果看到此消息,可能是找不到gruntfile或grunt尚未在本地安装到您的项目。有关的详细信息安装和配置Grunt,请参阅《入门指南》:

这是我第一次使用咕噜声,我已经尝试解决这个问题超过2个小时了。请有人帮我,告诉我什么设置不正确。

事先谢谢!


很可能没有在本地的项目文件夹中安装grunt(这与grunt cli不同)。你把它放在包.json中,所以试着做npm install或者交替地做npm install grunt

有关详细信息,请参阅"入门"页:

Note that installing grunt-cli does not install the grunt task runner! The job of the grunt CLI is simple: run the version of grunt which has been installed next to a Gruntfile. This allows multiple versions of grunt to be installed on the same machine simultaneously.