2017-01-09 8 views
0

自分の開発環境をセットアップし始めています。端末でgulpを実行しているときにいくつか問題があります。 このエラーの原因はわかりません。ここ は私Gulpfile.jsからのコードです:ここではGulpfile.js: "TypeError:" listener "引数は関数でなければならない"を修正する方法?

var gulp  = require('gulp'), 
    sass  = require('gulp-sass'), 
    browserSync = require('browser-sync').create(), 
    reload  = browserSync.reload, 
    php   = require('gulp-connect-php'), 
    source  = './sass', 
    dest  = './css'; 

gulp.task('sass', function(){ 
    gulp.src(source+'/main.scss') 
    .pipe(sass()) 
    .pipe(gulp.dest(dest)) 
    .on('error', onError) 
    .pipe(reload({stream: true})); 
}); 
// Watch php files 
gulp.task('watch', function(){ 
    gulp.watch('blog/**/*.php'); 
    gulp.watch('admin/**/*.php'); 
    gulp.watch('portoflio/**/*.php'); 
    gulp.watch('functions/**/*.php'); 
    gulp.watch('templates/**/*.php'); 
    gulp.watch('index.php'); 
}); 

gulp.task('php', function() { 
    php.server({ 
     base: './', 
     port: 8010, 
     keepalive: true 
    }); 
}); 
gulp.task('browser-sync',['php'], function() { 
    browserSync.init({ 
     proxy: 'http://localhost/username', 
     files: ["**/*.php"], 
     port: 8080, 
     open: true, 
     notify: false 
    }); 
    gulp.watch(".sass/**/*.scss", ['sass']); 
    // Watches for .php file changes 
    gulp.watch("**/*.php").on("change", [reload]); 
}); 
gulp.task('default', ['sass','browser-sync']); 
function onError(err) { 
    console.log(err); 
    this.emit('end'); 
} 

は、端末でのエラーです:あなたのポートが既に使用されているよう

TypeError: "listener" argument must be a function 
    at _addListener (events.js:216:11) 
    at EventEmitter.addListener (events.js:276:10) 
    at Gulp.<anonymous> (/Applications/MAMP/htdocs/username/gulpfile.js:43:28) 
    at module.exports (/Applications/MAMP/htdocs/username/node_modules/gulp/node_modules/orchestrator/lib/runTask.js:34:7) 
    at Gulp.Orchestrator._runTask (/Applications/MAMP/htdocs/username/node_modules/gulp/node_modules/orchestrator/index.js:273:3) 
    at Gulp.Orchestrator._runStep (/Applications/MAMP/htdocs/username/node_modules/gulp/node_modules/orchestrator/index.js:214:10) 
    at /Applications/MAMP/htdocs/username/node_modules/gulp/node_modules/orchestrator/index.js:279:18 
    at finish (/Applications/MAMP/htdocs/username/node_modules/gulp/node_modules/orchestrator/lib/runTask.js:21:8) 
    at module.exports (/Applications/MAMP/htdocs/username/node_modules/gulp/node_modules/orchestrator/lib/runTask.js:60:3) 
    at Gulp.Orchestrator._runTask (/Applications/MAMP/htdocs/username/node_modules/gulp/node_modules/orchestrator/index.js:273:3) 
[Mon Jan 9 17:55:57 2017] Failed to listen on 127.0.0.1:8010 (reason: Address already in use) 

答えて

0

は思えます。

[Mon Jan 9 17:55:57 2017] Failed to listen on 127.0.0.1:8010 (reason: Address already in use)

あなたはポート8010上で実行中のプロセスをチェックして、それを閉じることができます。

それとも、これは、あなたはすでにあなたのポートを取ったプロセスを強制終了する必要が動作する場合

gulp.task('php', function() { 
    php.server({ 
     base: './', 
     port: 8020, 
     keepalive: true 
    }); 
}); 

のような何か他のものにポートを変更します。

関連する問題