使用gulp在本地服务器上与团队合作。错误:EPERM:操作不允许,chmod。

3

我正在与一个web团队一起工作,我们将所有文件存储在办公室的本地共享服务器上。(我们正在逐渐将所有内容移到git上,所以请不要评论我们没有使用git的愚蠢。谢谢!)

我们使用gulp将sass编译为css,当我们中的某个人进行编译时,一切都很好,但是一旦其他人尝试运行node进程并使用gulp进行编译,就会出现以下错误....

[10:12:53] Starting 'sass'...
   [10:12:53] Starting 'watch'...
   [10:12:54] Finished 'watch' after 173 ms
   [10:12:54] 'sass' errored after 442 ms
    EPERM: operation not permitted, chmod '/the file path/'

我尝试使用chmod更改文件权限,但我认为这不是问题所在。我使用Atom作为编辑器,团队中的其他开发人员使用Sublime。

我读到有些编辑器可能会锁定文件。不确定是否是原因,但如果是,我不知道该如何解决。这个问题的唯一解决方法是使用git,并在我们自己的计算机上拥有本地副本吗?

提前感谢!

gulpfile.js

// Include gulp
var gulp = require('gulp');

// Include Our Plugins
var sass = require('gulp-sass');
var plumber = require('gulp-plumber');
var cleanCSS = require('gulp-clean-css');
var sourcemaps = require('gulp-sourcemaps');


var sassOptions = {
    errLogToConsole: true,
    outputStyle: 'nested' // Styles: nested, compact, expanded, compressed
};

// Compile Sass file to CSS, and reload browser(s).
gulp.task('sass', function() {
    return gulp.src('includes/scss/*.scss')
        .pipe(plumber())
        .pipe(sourcemaps.init())
        .pipe(sass.sync(sassOptions))
        .pipe(sass.sync().on('error', sass.logError))
        .pipe(sourcemaps.write())
        .pipe(gulp.dest('includes/css'));
});

gulp.task('minify-css', function() {
  return gulp.src('includes/css/*.css')
    .pipe(sourcemaps.init({loadMaps: true}))
    .pipe(cleanCSS({compatibility: 'ie8'}))
    .pipe(sourcemaps.write())
    .pipe(gulp.dest('includes/css'));
});

// Watch Files For Changes
gulp.task('watch', function() {
  gulp.watch('includes/scss/**/*.scss', ['sass']);
});

// Default Task
//gulp.task('serve', ['sass', 'minify-css', 'watch']);
gulp.task('serve', ['sass', 'watch']);
5个回答

5

这是因为您需要以管理员身份运行您的gulpfile。 所以运行sudo -i,输入您的管理员密码,然后再次运行即可。 我遇到了同样的问题,这对我有用。


1
有时这是由Watch引起的。但更常见的情况是Gulp在gulp.dest命令中保留了标志。如果您有一个带只读标志的源文件,每次在gulp.dest命令中包含源文件时都必须覆盖标志。
方法如下:
.pipe(gulp.dest('includes/css', mode: 0o777));

{mode: 0777} - open-ecommerce.org

0

只需卸载您的gulp:

npm uninstall gulp -g

那么

npm install gulp -g

在Windows中设置环境变量中的路径

重新启动您的系统或cmd提示符。


0

我在编译Sass时遇到了错误。我不得不删除目标.css文件,然后一切都正常了。


0

我也遇到了那个问题。我的解决方法是以 root 身份从终端开始,并仅输入 gulp 即可。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接