angularjs – Gulp错误:产生EACCES

前端之家收集整理的这篇文章主要介绍了angularjs – Gulp错误:产生EACCES前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
gulpfile.js
'use strict';

var gulp = require('gulp');

gulp.paths = {
  src: 'src',dist: 'dist',tmp: '.tmp',e2e: 'e2e'
};

require('require-dir')('./gulp');

gulp.task('build',['clean'],function () {
    gulp.start('buildapp');
});

一饮而尽/ server.js

'use strict';

var gulp = require('gulp');

var paths = gulp.paths;

var util = require('util');

var browserSync = require('browser-sync');

var middleware = require('./proxy');

function browserSyncInit(baseDir,files,browser) {
  browser = browser === undefined ? 'default' : browser;

  var routes = null;
  if(baseDir === paths.src || (util.isArray(baseDir) && baseDir.indexOf(paths.src) !== -1)) {
    routes = {
      '/bower_components': 'bower_components'
    };
  }

  browserSync.instance = browserSync.init(files,{
    startPath: '/',server: {
      baseDir: baseDir,middleware: middleware,routes: routes
    },browser: browser
  });
}

gulp.task('serve',['watch'],function () {
  browserSyncInit([
    paths.tmp + '/serve',paths.src,],[
    paths.tmp + '/serve/{app,components}/**/*.css',paths.src + '/{app,components}/**/*.js',paths.src + 'src/assets/images/**/*',paths.tmp + '/serve/*.html',paths.tmp + '/serve/{app,components}/**/*.html',components}/**/*.html'
  ]);
});

gulp.task('serve:dist',['buildapp'],function () {
  browserSyncInit(paths.dist);
});

gulp.task('serve:e2e',['inject'],function () {
  browserSyncInit([paths.tmp + '/serve',paths.src],null,[]);
});

gulp.task('serve:e2e-dist',function () {
  browserSyncInit(paths.dist,[]);
});

节点版本:v0.10.25
npm版本:1.3.10
gulp CLI和本地版本:3.9.0
操作系统:Ubuntu 14.04.2 LTS

我还正确安装了所有节点包,没有错误.但是,如果我运行gulp服务,我得到错误:产生EACCES

我清楚地卸载了节点,npm,bower,gulp等并且已经安装好它们但是它没有解决问题.

这是我运行gulp serve时的整个错误日志:

[22:15:33] Using gulpfile /media/culaste/Data/Code/sampleapp/source/gulpfile.js
[22:15:33] Starting 'styles'...
[22:15:34] gulp-inject 26 files into app.scss.
[22:15:34] Finished 'styles' after 1.24 s
[22:15:34] Starting 'inject'...
[22:15:34] gulp-inject 1 files into 404.tmpl.html.
[22:15:34] gulp-inject 1 files into 500.tmpl.html.
[22:15:35] gulp-inject 1 files into index.html.
[22:15:35] gulp-inject 105 files into 404.tmpl.html.
[22:15:35] gulp-inject 105 files into 500.tmpl.html.
[22:15:35] gulp-inject 105 files into index.html.
[22:15:35] Finished 'inject' after 668 ms
[22:15:35] Starting 'watch'...
[22:15:36] Finished 'watch' after 1.19 s
[22:15:36] Starting 'serve'...
[22:15:36] Finished 'serve' after 94 ms
[BS] Local URL: http://localhost:3000/
[BS] External URL: http://192.168.8.101:3000/
[BS] Serving files from: .tmp/serve
[BS] Serving files from: src
[BS] Watching files...

events.js:72
        throw er; // Unhandled 'error' event
              ^
Error: spawn EACCES
    at errnoException (child_process.js:988:11)
    at Process.ChildProcess._handle.onexit (child_process.js:779:34)
问题是当browserSync尝试打开我的浏览器时,由于权限问题,它会抛出错误.添加open:false解决问题.

一饮而尽/ server.js

browserSync.instance = browserSync.init(files,open:false,browser: browser
  });

我知道没有必要修复权限问题,但我想如果运行开发服务器时,它会自动打开浏览器(如果浏览器已经打开,则会自动打开新选项卡).非常感谢任何建议和/或解决方案.谢谢大家.

猜你在找的Angularjs相关文章