Grunt没有输出任何内容 [Ubuntu]

15

我的grunt没有任何输出,我刚刚安装了整个系统、NPM和grunt-cli。当我输入“grunt -v”时,没有任何返回结果。 这是我的package.json:

{
  "name": "project",
  "version": "2.0.0",
  "devDependencies": {
    "grunt": "~0.4.1",
    "grunt-contrib-coffee": "~0.7.0",
    "grunt-contrib-compass": "~0.6.0",
    "grunt-contrib-uglify": "~0.2.2",
    "grunt-contrib-watch": "~0.5.3",
    "grunt-yui-compressor": "~0.3.0",
    "grunt-contrib-cssmin": "~0.7.0"
  }
}

我的 Gruntfile.coffee 是:

module.exports = (grunt) ->

  # Project configuration.
  grunt.initConfig
    pkg: grunt.file.readJSON("package.json")

    coffee:
      glob_to_multiple:
        expand: true
        flatten: true
        src: ['assets/javascripts/source/*.coffee']
        dest: 'assets/javascripts/build/'
        ext: '.js'

    compass:
      dev:
        options:
          config: 'config.rb'

    cssmin:
      add_banner:
        options:
          banner: '/* Compilado em ' + grunt.template.today('dd/mm/yyyy') + ' */'
        files:
          'assets/styles/build/site.min.css': ['assets/styles/build/site.css']
          'assets/styles/build/site-ie7.min.css': ['assets/styles/build/site-ie7.css']

    uglify:
      dev:
        files:
          'assets/javascripts/build/scripts.min.js':[
            'assets/javascripts/build/scripts.js'
            'assets/javascripts/build/zt-validator.js'
            'assets/javascripts/build/jquery-zt.js'
          ]
      dist:
        files:
          'assets/javascripts/build/scripts-full.min.js':[
            'assets/javascripts/build/scripts.js'
            'assets/javascripts/build/zt-validator.js'
            'assets/javascripts/build/jquery-zt.js'
            'assets/javascripts/build/site.js'
          ]

    watch:
      options: { spawn: false }
      coffee:
        files: ["assets/javascripts/source/*.coffee"]
        tasks: ["coffee","uglify"]
      compass:
        files: ["assets/styles/**/*.sass","assets/styles/**/*.scss"]
        tasks: ["compass","cssmin"]


  grunt.loadNpmTasks "grunt-contrib-coffee"
  grunt.loadNpmTasks "grunt-contrib-watch"
  grunt.loadNpmTasks "grunt-contrib-compass"
  grunt.loadNpmTasks "grunt-contrib-cssmin"
  grunt.loadNpmTasks "grunt-contrib-uglify"

  # Default task(s).
  grunt.registerTask "default", ["coffee", "compass"]

我不知道如何调试它。


2
grunt -v 将以详细模式运行默认任务。那么你的 Gruntfile.js 中的默认任务是什么? - Matthew Bakaitis
在我的 MacBook 上运行 "grunt -v" 命令可以显示版本信息。 - Thiago Locks
OK. grunt -V 中大写的 'V' 显示版本,小写的 'v' 设置详细模式...无论哪种方式,问题是 grunt 没有采取任何行动吗?还是只是没有打印版本? - Matthew Bakaitis
你说的-v是对的。问题在于grunt-cli无法工作,即使我尝试获取其版本也没有任何输出。 - Thiago Locks
3个回答

37

尝试移除 "node" 软件包,它与 NodeJS 无关,我移除后问题得到了解决。

您可以通过运行 sudo apt-get remove node 并重新安装nodejs-legacy来完成此操作,命令为sudo apt-get install nodejs-legacy


9
对我来说,这句话翻译成中文就是:“对我来说,它是'sudo apt-get install nodejs-legacy'(只有两个字母但很重要)。” - Djarshi
3
在我的情况下,需要同时执行删除节点和安装旧版才能使grunt工作。 - btk
对于那些这个答案不是100%清晰的人:sudo apt-get remove nodesudo apt-get install nodejs-legacy - Adam Hopkins

8

为了让 'grunt' 生效,我需要在 Ubuntu 13.10 上安装 'node-legacy'。仅安装 'node' 是不够的。


1
如果你没有安装最新版本的grunt-cli,请进行升级。
你可能被此更新修复的问题所困扰,这很可能解释了你和我在开关方面得到不同结果的原因。

我们拥有最新版本的grunt-cli和NPM。你还有其他想法吗? - Thiago Locks
假设全局安装了 grunt-cli,根据您的 package.json,其他全局安装的模块是否正常工作?最近您的 PATH 是否有更改?您是否使用不同的用户安装了 grunt-cli - Matthew Bakaitis
路径正确,请查看:/home/denys/.wp-cli/bin:/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/denys/npm:/home/denys/npm/bin:/home/denys/npm/lib - Thiago Locks
CoffeeScript(npm模块)运行良好。为什么Grunt不返回任何东西呢? - Thiago Locks
如果你想出来了,我很感兴趣知道发生了什么……但我没有其他的想法。抱歉。 - Matthew Bakaitis

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接