关于node.js:“致命错误:无法找到本地grunt。”运行“grunt”命令时

“Fatal error: Unable to find local grunt.” when running “grunt” command

我用以下命令卸载了grunt。

1
npm uninstall -g grunt

然后我又用以下命令安装了grunt。

1
npm install -g grunt-cli

访问以下链接:网址:https://npmjs.org/package/grunt-html

我想使用上面的咕噜插件

但当我运行grunt命令时,它会给出以下错误:

1
2
3
4
5
6
7
8
9
10
11
D:
odeJS
ode_modules\grunt-html>grunt
grunt-cli: The grunt command line interface. (v0.1.6)

Fatal error: Unable to find local grunt.

If you're seeing this message, either a Gruntfile wasn't found or grunt
hasn't been installed locally to your project. For more information about
installing and configuring grunt, please see the Getting Started guide:
http://gruntjs.com/getting-started


所有这些都在gruntjs.com上得到了很好的解释。

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.

因此,在项目文件夹中,您需要(最好)安装最新的grunt版本:

1
npm install grunt --save-dev

选项--save-dev将添加grunt作为您的package.json的dev依赖项。这使得重新安装依赖项变得容易。


必须在项目文件夹中安装grunt

  • 创建包.json

    1
    $ npm init
  • 本工程安装Grunt,安装在node_modules/下。--save dev会将此模块添加到package.json中的devdependency中。

    1
    $ npm install grunt --save-dev
  • 然后创建gruntfile.js并运行

    1
    $ grunt

  • 我的Windows Grunt出现了这个问题,因为我在64位Windows操作系统上安装了32位版本的节点。当我专门安装64位版本时,它开始工作。


    我想你得在你的package.json文件中加上咕噜声。请参见此链接。


    如果您是一个现有的项目,可能应该执行NPM安装。

    刚开始第二步。


    我今天在32位的Windows上遇到了同样的问题,节点0.10.25,咕噜0.4.5。

    我跟着东河的回答,只多走了几步。以下是我用来解决错误的步骤:

    1)创建package.json

    1
    $ npm init

    2)为此项目安装grunt,将在node_modules/下安装。--save dev会将此模块添加到package.json中的devdependency中。

    1
    $ npm install grunt --save-dev

    3)然后用这样的示例代码创建gruntfile.js

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

      grunt.initConfig({
        jshint: {
          files: ['Gruntfile.js', 'src/**/*.js', 'test/**/*.js'],
          options: {
            globals: {
              jQuery: true
            }
          }
        },
        watch: {
          files: ['<%= jshint.files %>'],
          tasks: ['jshint']
        }
      });

      grunt.loadNpmTasks('grunt-contrib-jshint');
      grunt.loadNpmTasks('grunt-contrib-watch');

      grunt.registerTask('default', ['jshint']);

    };

    这里,src/**/*.jstest/**/*.js应该是您在项目中使用的实际JS文件的路径。

    4)运行npm install grunt-contrib-jshint --save-dev

    5)运行npm install grunt-contrib-watch --save-dev

    6)运行$ grunt

    注意:当您需要concat、uglify等通用包时,您需要通过npm install添加这些模块,就像我们在步骤4&5中安装jshint和watch一样。