为什么我的gulp任务停止生成我的css文件?

时间:2015-04-24 14:15:46

标签: ruby sass gulp gulp-ruby-sass

我使用sass(由gulp任务触发)生成我的css文件。我最近格式化我的计算机,这个任务停止工作。

import java.io.IOException;

public class ExecuteShellComand
{

    public static void main(String[] args) throws IOException
    {

        String tel = "telnet 192.168.1.1 23";
        String user = "admin";
        String pass = "admin";
        String reboot = "reboot";
        String command = "cmd /c start cmd.exe /c"+tel+"/c"+user+"/c"+pass+"/c"+reboot;

        Process child = Runtime.getRuntime().exec(command);

    }
}

在重新安装我的操作系统(Windows 8.1)之前,此任务以前工作正常。现在,在我运行此任务后,没有可见错误,但没有创建css文件。

所以,问题是:

为什么我的gulp任务停止生成我的css文件?

1 个答案:

答案 0 :(得分:1)

你的gulp任务很好。

默认情况下,

gulp-ruby-sass使用gem sass来编译scss文件。由于您最近格式化了计算机,我打赌您安装了最新版本的Ruby Installer for Windows。我做了一些测试,我注意到在使用Ruby 2.2.2时,sass似乎在Windows上不起作用。 sass gem在Ubuntu和OS X上的Ruby 2.2上运行得很好。

如果这是一个选项,我建议您从Ruby 2.2.x降级到Ruby 2.1.6,这应该可以解决您的问题。

如果没有,你可以使用gulp-debug检查你的流并从那里开始。

gulp.task('styles', ['copy'], function() {
  gulp.src(config.sources.sass)
    .pipe(debug({title: 'Before sass:'}))
    .pipe(sass({ style: config.isProduction ? 'compressed' : 'expanded' }))
    .pipe(debug({title: 'After sass:'}))
    .pipe(gulp.dest(config.build.cssDir));
});

如果您无法降级ruby版本,则可以使用gulp-sass代替gulp-ruby-sass。 Gulp sass根本不需要ruby,因为它使用节点中为C / C ++库创建的包装器 - libsass

您还可以修改自己的帖子并添加gulp-ruby-sass版本(或您的package.json)以及您的nodejs版本。