My Gulp was working fine until I installed browser-sync
npm install browser-sync gulp --save-dev
Then I started to get this error:
Error: Cannot find module 'lru-cache'
Which I solved using this: npm link lru-cache
answer from https://github.com/npm/npm/issues/1154
However, now when I try to run gulp
I get this new error:
~/Projects/starfeeder ❯ npm install browser-sync gulp --save-dev npm WARN deprecated minimatch@2.0.10: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue npm WARN deprecated node-uuid@1.4.8: Use uuid module instead
fsevents@1.1.2 install /Users/leongaban/Projects/starfeeder/node_modules/fsevents node install
My gulpfile if that helps:
"use strict";
const gulp = require('gulp'),
_ = require('lodash'), // https://www.npmjs.com/package/lodash
del = require('del'), // https://www.npmjs.com/package/del
fs = require('fs'), // Node file system
gutil = require('gulp-util'), // https://www.npmjs.com/package/gulp-util
htmlReplace = require('gulp-html-replace'), // https://www.npmjs.com/package/gulp-html-replace
notify = require("gulp-notify"), // https://www.npmjs.com/package/gulp-notify
runSequence = require('run-sequence'), // https://www.npmjs.com/package/run-sequence
sass = require('gulp-ruby-sass'), // https://www.npmjs.com/package/gulp-ruby-sass
sourcemaps = require('gulp-sourcemaps'); // https://www.npmjs.com/package/gulp-sourcemaps
const rootPath = process.cwd();
const paths = {
files: ['src/static/**']
};
const errorlog = err => {
gutil.log(gutil.colors.red.bold.inverse(' ERROR: '+err));
this.emit('end');
};
// Build tasks chain ///////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
gulp.task('build', function(cb) {
runSequence(
'build:app-css', // Minify and concat app styles
'build:move-files',
'build:index', // Replace scripts in index.html
'build:final', cb); // Remove app.min.js from build folder
});
gulp.task('build:move-files', () => gulp.src(paths.files).pipe(gulp.dest('starfeeder/')) );
// Preprocess SASS into CSS \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
gulp.task('build:app-css', () => sass('src/sass/starfeeder.scss', { style: 'compressed' }).on('error', errorlog).pipe(gulp.dest('src/static/css/')) );
// Clear out all files and folders from build folder \\\\\\\\\\\\\\\\\\\\\\\\\\\
gulp.task('build:cleanfolder', cb => { del(['starfeeder/**'], cb); });
// Task to make the index file production ready \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
gulp.task('build:index', () => {
process.stdout.write(gutil.colors.white.inverse(' New asset paths in markup: \n'));
process.stdout.write(gutil.colors.yellow(' static/css/starfeeder.css\n'));
gulp.src('index.html')
.pipe(htmlReplace({
'app-css': 'css/starfeeder.css'
}))
.pipe(gulp.dest('starfeeder/'))
.pipe(notify('Starfeeder build created!'));
});
gulp.task('build:final', cb => {
process.stdout.write(gutil.colors.blue.bold ('###################################################### \n'));
process.stdout.write(gutil.colors.blue.inverse(' Starfeeder build created! \n'));
process.stdout.write(gutil.colors.blue.bold ('###################################################### \n'));
});
// Main Styles /////////////////////////////////////////////////////////////////
gulp.task('app-css', () => {
return sass('src/sass/starfeeder.scss', { style: 'compressed' })
.pipe(sourcemaps.init())
.on('error', errorlog)
.pipe(sourcemaps.write('./maps'))
.pipe(gulp.dest('src/static/css/'))
});
// Development watch /////////////////////////////////////////////////////////// 🤖☕️⏎→
gulp.task('watch', () => {
gulp.watch('src/sass/**/*.scss', ['app-css']).on('change', file => {
let filePath = file.path.split(rootPath);
logFileChanged(filePath[1]);
});
});
gulp.task('default', ['watch']);
I had this same issue with installing through2
. The project used shrink wrap and had a package-lock.json
which caused the a dependencies to break. Once I removed the lock and re-installed, all was good.
Ok so still not sure why I got those errors, but never installing browserSync again.
I had to npm link
all my gulp plugins.
That work, but then it broke during the gulp build
process.
Instead of doing npm link
to everything, included other node modules I've never heard off. I removed browserSync
and deleted my node_modules folder and did yarn(npm) install
.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.