2014-10-28 10 views
9

Ich versuche etwas unter Verwendung gulp-shell auszuführen. Mein gulfile.js enthält folgenden Inhalt:Gulp-Shell führt keine Befehle aus

var gulp = require('gulp'), 
    shell = require('gulp-shell'); 

gulp.task('test', function() { 
    shell(['echo test']); 
}); 

Dann laufe ich es gulp test aufrufen. Dies ist der Ausgang, den ich bekomme:

Es gibt keine Ausgabe für meinen Echoanruf.

Ich verwende eine Ubuntu 14 VM, die ich angeschlossen habe, mit Putty.

Wer hat eine Idee, was ist los?

Antwort

18

Das ist, weil es nicht der gute Weg ist, um Gulp-Shell zu verwenden.

Versuchen Sie dies, wie in der gulp-shell README zu sehen.

var gulp = require('gulp'), 
    shell = require('gulp-shell'); 

gulp.task('test', shell.task([ 
    'echo test' 
])); 
+1

Na ja .. das war einfach, und ich war die Mühe meinen Kopf mit ihm. Aber es scheint eher im Widerspruch zu den übrigen Aufgabendefinitionen zu stehen. Vielleicht möchten Sie näher erläutern, was der große Unterschied ist? :-) – NewGulpUserxx

+1

Und gibt es eine Möglichkeit, Farben nicht von der Ausgabe abzuziehen? – NewGulpUserxx

+0

So funktioniert es. Ich denke, es hat etwas damit zu tun, wie die Daten des Schluckstroms gefiltert werden. Ich denke nicht, dass es eine Möglichkeit für die Farben gibt, zu zeigen, vielleicht versuchen Sie, Ihre Befehle in eine externe Skriptdatei zu bringen und diese Datei mit gulp-shell zu starten, nur eine Idee. – tiledcode

4

Für das Protokoll, wenn Sie Rohr schluck-Shell wollen, per specified in the doc:

gulp.task('myGulpTask', [], function() { 
    return gulp.src('gulpfile.js', {read: false}) 
    .pipe(shell('echo "This works too"')); 
}); 
+0

Dies wird jetzt als ein Anti-Muster nicht tun dies - https://github.com/sun-zheng-an/gulp-shell – davidbenjamin998