2014-09-19 61 views
1

我有一個非常簡單的咕嚕任務:php2html拋出 「致命錯誤:聽EADDRINUSE」

module.exports = function(grunt){ 
    grunt.initConfig({ 
     pkg: grunt.file.readJSON('package.json'), 
     php2html: { 
      default: { 
       files: [ 
       {expand: true, cwd: 'content/', src: ['*.php'], dest: 'build/content', ext: '.html' } 
       ] 
      } 
     }, 
    }); 
    grunt.loadNpmTasks('grunt-php2html'); 
    grunt.registerTask('default', ['php2html']); 
}; 

當我與grunt運行它,我得到:

# grunt 
Running "php2html:default" (php2html) task 
Processing content/cart.php...Fatal error: listen EADDRINUSE 

那是什麼致命錯誤:聽EADDRINUSE,我該如何解決它?不幸的是,我的搜索沒有給出任何明智的結果。

回答

2

EADDRINUSE表示內部用於生成HTML的端口號已被使用。默認情況下,grunt-php2html使用本地主機上的端口8888。你有沒有嘗試在你的配置中使用另一個端口?

module.exports = function(grunt){ 
    grunt.initConfig({ 
     pkg: grunt.file.readJSON('package.json'), 
     php2html: { 
      default: { 
       options: { 
       port: 8181, 
       } 
       files: [ 
       {expand: true, cwd: 'content/', src: ['*.php'], dest: 'build/content', ext: '.html' } 
       ] 
      } 
     }, 
    }); 
    grunt.loadNpmTasks('grunt-php2html'); 
    grunt.registerTask('default', ['php2html']); 
}; 
+0

謝謝Ben!確實有Apache從MAMP運行在8888端口。現在解決;) – spliter 2014-09-19 11:39:59

+0

只是一個說明。根據插件的源代碼,顯然它必須是'serverPort'而不是'port';) – spliter 2014-09-19 12:02:02