grunt watch livereload致命错误:端口35279已被另一个进程使用

时间:2013-10-09 09:31:22

标签: gruntjs livereload grunt-contrib-watch

我正在尝试使用livereload和watch。我一直收到消息“致命错误:端口35279已被另一个进程使用”。我已经更改了livereload的端口,但没有重新加载。

module.exports = function(grunt) {
grunt.initConfig({
    pkg: grunt.file.readJSON('package.json'),
    compass: {
      dist: {
        options: {
          cssDir: 'stylesheets',
          sassDir: 'stylesheets/sass/',
          imagesDir: 'images',
          javascriptsDir: 'scripts',
          require: ['sass-globbing','modular-scale'],
          force: true
        }
      }
    },
    cssmin: {
      minify: {
        expand: true,
        cwd: 'stylesheets',
        src: ['*.css', '!*.min.css'],
        dest: 'stylesheets',
        ext: '.min.css'
      }
    },
    watch: {
        options: {
            livereload: true
        },
        sass: {
            files: 'stylesheets/sass/*.scss',
            tasks: ['compass']
        },
        css: {
            files: 'stylesheets/*.css',
            tasks: ['cssmin']
        },
        html: {
            files: ['index.html','**/*.css']
        }
    }
});
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-contrib-compass');
grunt.loadNpmTasks('grunt-contrib-cssmin');
grunt.registerTask('default',['compass','watch']);

}

5 个答案:

答案 0 :(得分:7)

添加

 <script src="//localhost:1337/livereload.js"></script>

到你想要livereload的页面。 1337是你在grunt文件中设置的端口。

options: {
        livereload: 1337
},

答案 1 :(得分:6)

您可以在bash / terminal窗口中手动关闭livereload服务器,如下所示:

curl localhost:35279/kill

此处有更多信息:https://github.com/mklabs/tiny-lr

答案 2 :(得分:3)

您使用的是Sublime Text和LiveReload包吗?众所周知会导致这个问题。如果是这样,请在Sublime Text中禁用或卸载软件包。

答案 3 :(得分:1)

我在流浪汉VM上使用grunt,所以我需要grunt在端口80上运行,首先我将停止apache并启动grunt服务,它运行正常。

然而,有时因为某些原因而咕噜声在停止后不会释放端口。例如:我通常会停止grunt编辑Gruntfile.js并重新启动它,但有时它不会启动并会抱怨使用por 80的人。

对我有用的唯一解决方案是重启shell会话并重试。

我使用ZSH并且我注意到在grunt中断之后如果我尝试退出shell,ZSH抱怨&#39;挂起的工作&#39;,但如果我仍然退出并重新启动会话并再次尝试grunt服务它将工作

答案 4 :(得分:0)

如果要使用端口终止进程,可以执行以下操作:

$ lsof -n -i4TCP:35729
COMMAND   PID      USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
node    15723  testuser   24u  IPv6 0x71823b3990749ea5      0t0  TCP *:35729 (LISTEN)

现在您拥有正在侦听您尝试访问的端口的进程的PID,因此您可以使用

来终止此操作
$ kill -9 15723

现在正在运行grunt应该可以正常工作:)