3
respostas

Problemas com versões do NPM e Json.js.

Eu já trabalhava usando o gulp para algumas tarefas automatizadas. Nunca estudei sobre o gulp e sempre pegava alguns tutoriais.

Tenho o seguinte problema:

Tenho um site desenvolvido com o framework Bootstrap. Eu usava um script muito simples que era para monitorar um arquivo scss de edição e salvar na pasta de distribuição.

Segue o gulpfile.js que eu estava usando:

var gulp = require('gulp');
var sass = require('gulp-sass');

gulp.task('sass', gulp.series( function() {
    return gulp.src(['node_modules/bootstrap/scss/*.scss', 'src/scss/*.scss'])
    .pipe(sass()) // converter o Sass em CSS
    .pipe(gulp.dest('src/css'));
}));

gulp.task('watch', gulp.series( function() {
    gulp.watch(['node_modules/bootstrap/scss/*.scss', 'src/scss/*.scss'], gulp.parallel( ['sass'] ));
}));

gulp.task('default', gulp.series( ['sass', 'watch'] ));

Quando fui estudar o curso de automação de tarefas com o gulp, tive que fazer downgrade de todos os api's NPM e Json.js. Na verdade tive problemas de compatibilidade de versões nestes exercício do Alura. Com isso o script que eu estava usando não está mais funcionando.

Apresenta o seguinte erro:

C:\Trabalhos\GBM RIO\bs4wp\layout\node_modules\node-sass\lib\binding.js:15 throw new Error(errors.missingBinary()); ^

Error: Missing binding C:\Trabalhos\GBM RIO\bs4wp\layout\node_modules\node-sassvendor\win32-x64-57\binding.node Node Sass could not find a binding for your current environment: Windows 64-bit with Node.js 8.x

Found bindings for the following environments:

  • Windows 64-bit with Node.js 12.x

This usually happens because your environment has changed since running npm ins tall. Run npm rebuild node-sass to download the binding for your current environment . at module.exports (C:\Trabalhos\GBM RIO\bs4wp\layout\node_modules\node-sasslib\binding.js:15:13) at Object. (C:\Trabalhos\GBM RIO\bs4wp\layout\node_modules\node-s ass\lib\index.js:14:35) at Module.compile (module.js:652:30) at Object.Module.extensions..js (module.js:663:10) at Module.load (module.js:565:32) at tryModuleLoad (module.js:505:12) at Function.Module.load (module.js:497:3) at Module.require (module.js:596:17) at require (internal/module.js:11:18) at Object. (C:\Trabalhos\GBM RIO\bs4wp\layout\nodemodules\gulp-s ass\index.js:162:21)

A minha pergunta é; Como posso resolver o problema de compatibilidade de versões para que eu possa continuar trabalhando no site em que desenvolvo e estudando com as aulas do curso?

3 respostas

Fala ai Leonardo, tudo bem? O problema do curso é que ele usa uma versão mais antiga do Gulp, então, as lib's devem ser compatíveis com a mesma.

Porém, se você instalar a versão mais nova do Gulp e usar as lib's mais recentes, tudo deve funcionar sem problemas.

Um detalhe é que as configurações provavelmente serão diferentes, isso porque a lib evoluiu e algumas coisas devem ter mudado o jeito se serem feitas.

Espero ter ajudado.

Pois é Matheus... O curso está defasado em alguns anos. se não me engano esse curso é de 2015. O problema é: As coisas evoluem numa velocidade incrível, principalmente em relação a tecnologia. Percebo que a maioria dos curso que já conclui, tem um atraso de, pelo menos, 4 anos.

Fala Leonardo, sim, alguns cursos ainda não foram regravados.

Acompanhar a tecnologia é bem complicada, mas, estamos trabalhando e tentando melhorar cada vez mais.

Abraços e bons estudos.