Gulp 错误:生成 EACCES

2023-11-24

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');
});

gulp/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',
    paths.src + '/{app,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', ['buildapp'], function () {
  browserSyncInit(paths.dist, null, []);
});

节点版本: v0.10.25
npm版本: 1.3.10
gulp CLI 和本地版本: 3.9.0
OS: Ubuntu 14.04.2 LTS

我还正确安装了所有节点包,没有错误。但如果我跑gulp serve
我得到了Error: spawn EACCES

我明明卸载了node, 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解决问题。

gulp/server.js

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Gulp 错误:生成 EACCES 的相关文章

随机推荐

  • 如何告诉 MongoDB C# 驱动程序以字符串格式存储所有 Guid?

    我目前正在申请 BsonRepresentation BsonType String 归属于所有人Guid我的域模型中的属性以使这些属性以字符串格式序列化 除了做起来很烦人之外 有时这也行不通 例如与定制Wrapper
  • 包含 count 和 case 语句的 SQL 查询

    我需要找出有多少人在 3 个不同年份 2006 年 2007 年 2008 年 的报税期结束日期 fpe 的 60 天内 120 天内 180 天内 180 天内提交了 fil dt 纳税申报表 下面的陈述将给我所有的岁月 我需要对每年和每
  • Python中如何进行封装?

    这有什么问题吗 从客观和功能的角度来看 import sys class EncapsulationClass object def init self self privates dict privates protected a sel
  • 需要一个公式:从 0001 年 1 月 1 日 12:00 AM 以来的秒数中提取年份

    输入 自 0001 年 1 月 1 日以来的秒数 输出 该时间段内的整年数 我开发了一种我认为不是最佳解决方案的算法 我认为应该有一个不涉及循环的解决方案 请参阅代码块 1 了解算法 该算法 A 确定天数 B 根据闰年从天总数中迭代减去 3
  • NHibernate - 执行 SQL 来填充 DTO

    我有一些报告实例 其中执行存储过程比复杂的 QueryOver 语句更容易 更简单 我有一个 DTO 而不是一个实体 它表示从查询返回的数据 并希望将查询结果填充到 DTO 中 我正在使用命名查询和 session GetNamedQuer
  • 在 iOS 中对包含字母数字单词的数组进行排序[重复]

    这个问题在这里已经有答案了 我有一个包含 10 个元素的数组 称为 products 默认情况下已排序 这是现在的当前日志 for int i 0 i
  • 如何将包含撇号的语句插入Sqlite数据库

    在我的 iPhone 应用程序中 我使用 Sqlite 数据库 我需要将文本存储在数据库中 文本包含撇号 例如 Insert into tbl insert values It is Steve s Shirt 如何将此类语句存储在Sqli
  • F# 中的策略模式

    在 C 中 我有以下代码 public class SomeKindaWorker public double Work Strategy strat int i 4 some code var s strat Step1 i some m
  • 如何让自定义元素在 Firefox 中工作?

    我有这个基本的自定义元素示例 它可以在 Chrome 中运行 但不能在 Firefox 中运行 有没有办法让它在 Firefox 中工作 没有聚合物 但可能是某种填充 我还启用了dom webcomponents enabled标记没有任何
  • 如何在没有 USB 连接的情况下在手机睡眠模式下调试 Android 应用程序

    我想这很棘手 通过 USB 连接 用于调试 和拔出 USB 时 手机的行为有所不同 不同之处在于睡眠模式 使用 USB 连接的手机似乎更活跃且响应更快 而没有 则更少 例如 我有一个闹钟来唤醒手机并调节音量 连接时 在睡眠状态下工作正常 每
  • 懒惰的、广度优先的一元玫瑰树展开是否可能?

    Data Tree包括unfoldTreeM BF and unfoldForestM BF使用单子操作的结果来广度优先构造树的函数 树展开器可以使用森林展开器轻松编写 因此我将重点关注后者 unfoldForestM BF Monad m
  • 将纬度和经度转换为 esri arcGIS MapPoint

    我在将纬度和经度值转换为 android esri arcGIS 地图点时遇到问题 这是我从 GPS 坐标获取纬度和经度值的代码 LocationManager lm String towers double lat double long
  • 如何在jsdoc中描述“对象”参数?

    My function does X and Y params object parameters An object containing the parameters params function callback The callb
  • 加载 EntityFramework 4.3.1 时出错

    我用 C 创建了一个 MVC 应用程序 我在我的解决方案中创建了一个名为 PhoneDomain 的新项目 这样做的目的是将我的数据和领域层与实际问题分开 我右键单击该项目并转到 添加库包引用 然后尝试添加 EntityFramework
  • 如何在 Angular 2 中将字符串的特定部分加粗

    我有一个 HTML 代码如下 div class row div class col 12 style margin top 15px margin bottom 10px description translate div div 我在用
  • 通过 Spark groupBy dataframe 查找时间戳的最小值

    当我尝试将数据框分组到列上时 尝试找到每个分组的最小值groupbyDatafram min timestampCol 看来我无法在非数字列上执行此操作 那么如何正确过滤 groupby 上的最小 最早 日期呢 我正在从 postgresq
  • LINQ Sum 溢出异常?

    我已经为 EventLogEntry 实现了自定义 IEqualityComparer public class EventLogEntryListComparison IEqualityComparer
  • 如何对列表列表中的每个列表进行排序

    如何对以下嵌套列表中的列表进行排序 功能sort仅适用于普通列表 lst 123 3 12 89 14 2 901 4 67 预期结果 3 12 123 2 14 89 4 67 901 这是一种非常简单的方法 无需任何包 列表理解 lst
  • 视口大小改变时自动刷新页面

    我正在为我的网站使用响应式和自适应媒体查询来适应智能手机 现在的问题是我的最大宽度移动查询以 480px 结束 这是大多数手机旋转的显示宽度 当手机侧放时 现在一些手机 比如 HTCdesire 的最大屏幕宽度为 533px 现在当用户第一
  • 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