2014-03-26 25 views
2

PC規格: Windows 7企業64咕嚕觀看致命錯誤:聽EACCES和livereload

我的一個項目運行grunt.js和最近開始收到錯誤嘗試運行「咕嚕表」時。

咕嚕昨天精細的工作,但現在我開始看到:

運行「監視」任務 等待...致命錯誤:聽EACCES

我讀到這裏的另一個問題:Cloud 9 and Grunt.js

導致我從Gruntfile.js刪除'選項:{livereload:true}'

運行監視再次按預期工作。有沒有辦法重新配置grunt或livereload以再次使用Grunt進行livereload工作?

此外,只要運行命令'grunt'即可運行所有任務而不會出錯。

謝謝。

編輯:Gruntfile.js如下:

module.exports = function(grunt) { 
    grunt.initConfig({ 
     jshint: { 
      all: ['js/src/*.js'] 
     }, 
     uglify: { 
      options: { 
       mangle: { 
        except: ['jQuery'] 
       }, 
       preserveComments: 'none' 
      }, 
      'js/main.min.js': ['js/tmp/debug.js'] 
     }, 
     compass: { 
      options: { 
       config: '.compass.rb', 
       sassDir: 'sass', 
       cssDir: '.' 
      }, 
      my_target: { 
      } 
     }, 
     cmq: { 
      my_target: { 
       files: { 'tmp': ['style.css'] } 
      } 
     }, 
     cssmin: { 
      minify: { 
       keepSpecialComments: 0, 
       expand: true, 
       cwd: 'tmp/', 
       src: ['style.css'], 
       dest: '.', 
       ext: '.css' 
      } 
     }, 
     imagemin: { 
      png: { 
       options: { 
        optimizationLevel: 7 
       }, 
       files: [{ 
        expand: true, 
        cwd: 'img', 
        src: ['**/*.png'], 
        dest: 'img', 
        ext: '.min.png' 
       }] 
      }, 
      jpg: { 
       options: { 
        progressive: true 
       }, 
       files: [{ 
        expand: true, 
        cwd: 'img', 
        src: ['**/*.jpg'], 
        dest: 'img', 
        ext: '.min.jpg' 
       }] 
      }, 
      gif: { 
       options: { 
        progressive: true 
       }, 
       files: [{ 
        expand: true, 
        cwd: 'img', 
        src: ['**/*.gif'], 
        dest: 'img', 
        ext: '.min.gif' 
       }] 
      } 
     }, 
     clean: ["tmp"], 
     watch: { 
      scripts: { 
       files: 'js/src/*.js', 
       tasks: ['jshint', 'concat', 'uglify', 'clean'], 
       options: { livereload: true } 
      }, 
      css: { 
       files: 'sass/*.scss', 
       tasks: ['compass', 'cmq', 'cssmin', 'clean'], 
       options: { livereload: true } 
      } 
     }, 
      concat: { 
      debug: { 
       src: ['js/src/**/*.js'], 
       dest: 'js/tmp/debug.js' 
      } 
     }, 
    }); 

    grunt.loadNpmTasks('grunt-contrib-watch'); 
    grunt.loadNpmTasks('grunt-contrib-jshint'); 
    grunt.loadNpmTasks('grunt-contrib-concat'); 
    grunt.loadNpmTasks('grunt-contrib-uglify'); 
    grunt.loadNpmTasks('grunt-contrib-compass'); 
    grunt.loadNpmTasks('grunt-combine-media-queries'); 
    grunt.loadNpmTasks('grunt-contrib-cssmin'); 
    grunt.loadNpmTasks('grunt-contrib-clean'); 
    grunt.loadNpmTasks('grunt-contrib-imagemin'); 

    grunt.registerTask('default', ['jshint', 'concat', 'uglify', 'compass', 'cmq', 'cssmin', 'clean']); 
} 
+0

'grunt'和'咕嚕-的contrib-watch'的哪個版本的哪個版本? – Mathletics

+0

「grunt」:「〜0.4.2」 「grunt-contrib-watch」:「〜0.5.3」 – Sean

+0

你可以發佈你的Gruntfile嗎? – Mathletics

回答

3

看樣子你必須配置產卵相同的默認端口2臺現場重裝服務器。相反,在你的手錶配置指定livereload: true兩次,只配置了一次:

watch: { 
    options: { livereload: true }, 
    scripts: { 
     files: 'js/src/*.js', 
     tasks: ['jshint', 'concat', 'uglify', 'clean'], 
    }, 
    css: { 
     files: 'sass/*.scss', 
     tasks: ['compass', 'cmq', 'cssmin', 'clean'], 
    }, 
}, 

然後,它會只產卵1臺現場重載服務器。

另一種選擇是創建一個特定的目標手錶現場重裝,看你的目標文件:

watch: { 
    scripts: { 
     files: 'js/src/*.js', 
     tasks: ['jshint', 'concat', 'uglify', 'clean'], 
    }, 
    css: { 
     files: 'sass/*.scss', 
     tasks: ['compass', 'cmq', 'cssmin', 'clean'], 
    }, 
    lr: { 
     options: { livereload: true }, 
     files: ['js/*.js', 'css/*.css'], 
    }, 
}, 
+0

謝謝,雖然沒有解決問題。同樣的錯誤。 致命錯誤:聽EACCES – Sean

+0

沒關係。修復它。不願意自嘲的回答傳入。 – Sean

1

在我永不落幕的輝煌,我曾fireapp在一個單獨的項目運行。 fireapp可以選擇啓用livereload。

當我問這個問題的時候,這是因爲我在凱爾正確推測的Gruntfile.js中有兩個調用。這個解決方案對我不起作用,因爲我仍然有兩個獨立版本的livereload,運行fireapp時正在監視一個單獨的項目。

凱爾的第二個選擇做到了。

謝謝!

0

您無權進行某些更改。

  1. 轉到項目文件夾。
  2. 打開項目文件夾中的終端&執行以下命令。

    sudo chmod -R a+rwx ./