2014-01-05 93 views
12

我正在关注我的新应用程序的grunt getting started guide,但我遇到了一些问题。'grunt'命令不会执行任何操作

这是我Gruntfile.js

module.exports = function(grunt) { 

    // Project configuration. 
    grunt.initConfig({ 
    pkg: grunt.file.readJSON('package.json'), 
    uglify: {, 
     build: { 
     src: 'js/*.js', 
     dest: 'build/*.min.js' 
     } 
    } 
    }); 

    // Load the plugin that provides the "uglify" task. 
    grunt.loadNpmTasks('grunt-contrib-uglify'); 

    // Default task(s). 
    grunt.registerTask('default', ['uglify']); 

}; 

这是我的package.json

{ 
    "name": "My App", 
    "version": "0.0.0", 
    "description": "", 
    "author": "", 
    "license": "N/A", 
    "devDependencies": { 
    "grunt": "~0.4.2", 
    "grunt-contrib-jshint": "~0.8.0", 
    "grunt-contrib-uglify": "~0.2.7" 
    } 
} 

我已经安装了咕噜-CLI包,我已经跑NPM安装以获得本地版本grunt和contrib库。

但是,当我运行gruntgrunt uglify什么也没有发生。

$ grunt 
$ grunt uglify 
$ 

任何想法我错过了什么或者什么可能会导致此行为?

编辑:我刚刚安装了摩卡,我也遇到了同样的问题:没有输出。也许有一个问题,我的节点或npm安装

+0

我猜/ JS /不为空,对不对? –

+0

@SergiuParaschiv这是正确 –

+0

尝试使用'--verbose'选项来查看你得到的。另外,运行'grunt --version'只是为了确保你得到一个适当的grunt执行(应该只打印Grunt cli版本号)。 – jakerella

回答

30

所以它看起来像这是一个环境设置问题。我有一个名为node的ubuntu软件包以及nodejs,它阻止通过npm安装的软件包正常工作。运行以下命令修复了问题。

sudo apt-get --purge remove node 
+2

感谢您发现这个解决方案!只是打这个相同的问题。相当难调试的东西,甚至不会抛出一个错误... – cboettig

+3

我也不得不这样做: sudo ln -s/usr/bin/nodejs/usr/bin/node – Tyguy7

10

我有同样的问题。 Grunt没有回应。没有输出显示。 删除节点并安装nodejs-legacy已为我工作。

删除节点通过:

sudo apt-get --purge remove node 

,并通过安装遗产:

sudo apt-get install nodejs-legacy 
+0

可能值得一提的是,Ubuntu的安装来有一个名为“节点”的包不是“节点js”。包含的节点通常不需要,因此可以安全地移除。不过你不需要安装nodejs-legacy。 'sudo apt-get install nodejs'应该可以工作! – RutledgePaulV

相关问题