“致命错误:无法找到当地的咕噜声。”当运行“grunt”命令时

时间:2013-03-18 18:02:35

标签: node.js gruntjs

我用以下命令卸载了grunt。

npm uninstall -g grunt

然后我再次使用以下命令安装grunt。

npm install -g grunt-cli

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

我想使用上面的grunt插件

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

D:\nodeJS\node_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

7 个答案:

答案 0 :(得分:173)

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

  

请注意,安装grunt-cli不会安装grunt任务运行器!   grunt CLI的工作很简单:运行grunt的版本   已安装在Gruntfile旁边。这允许多个版本   咕噜声同时安装在同一台机器上。

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

npm install grunt --save-dev

选项--save-dev会将{{1>}作为 dev-dependency 添加到 package.json 。这样可以轻松地重新安装依赖项。

答案 1 :(得分:20)

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

  1. 创建你的package.json

    $ npm init
    
  2. 为此项目安装grunt,它将安装在node_modules/下。 --save-dev会将此模块添加到package.json

    中的devDependency
    $ npm install grunt --save-dev
    
  3. 然后创建gruntfile.js并运行

    $ grunt 
    

答案 2 :(得分:4)

我认为您必须在您的package.json文件中添加grunt。请参阅this link

答案 3 :(得分:4)

我在Windows grunt上遇到了这个问题,因为我在64位Windows操作系统上安装了32位版本的Node。当我专门安装64位版本时,它开始工作。

答案 4 :(得分:1)

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

我跟着dongho's answer,只需几步。 以下是我用来解决错误的步骤:

1)创建你的package.json

$ npm init

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

中的devDependency
$ npm install grunt --save-dev

3)然后使用如下示例代码创建gruntfile.js

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添加这些模块,就像我们安装jshint并在步骤4&amp; 5

答案 5 :(得分:1)

如果你是一个存在的项目,也许应该执行npm install。

guntjs getting started第2步。

答案 6 :(得分:1)

这为我解决了这个问题。我错误地使用以下命令安装了grunt:

sudo npm install -g grunt --save-dev

,然后在项目文件夹中运行以下命令:

npm install

这导致问题作者看到错误。 然后,我使用以下方法卸载了grunt:

sudo npm uninstall -g grunt

删除了node_modules文件夹。并使用以下命令重新安装grunt:

npm install grunt --save-dev

,然后在项目文件夹中运行以下命令:

npm install

出于某种奇怪的原因,当您使用-g全局安装grunt然后将其卸载时,node_modules文件夹会保留一些阻止grunt本地安装到项目文件夹的东西。