Instalei módulos de nó pelo npm install e tentei gulp sass-watch no prompt de comando. Depois disso, recebi a resposta abaixo.
[18:18:32] Requiring external module babel-register
fs.js:27
const { Math, Object, Reflect } = primordials;
^
ReferenceError: primordials is not defined
Já tentei isso antes de engolir sass-watch
npm -g install gulp-cli
webshot
pacote de nós. Eu suspeito que eles precisam atualizar alguma coisa antes que eu possa continuar com o Nó v12.v12.1.0
e gole[email protected]
, mas ele não funcionav10.x
e golev3.x
, então a magia happnedEncontramos o mesmo problema ao atualizar um projeto herdado, dependendo da
[email protected]
Node.js. 12.Essas correções permitem usar o Node.js 12
[email protected]
substituindograceful-fs
a versão4.2.3
.Se o seu projeto não estiver sendo trabalhado ativamente e você usar o npm
Crie um
npm-shrinkwrap.json
arquivo contendo isso:Confirme este
npm-shrinkwrap.json
arquivo. E então execute onpm install
que atualizará onpm-shrinkwrap.json
arquivo.Infelizmente, esta solução não funciona mais se você
npm install
novamente. Veja as outras soluções abaixo.Se seu projeto estiver em desenvolvimento ativo e você usar o yarn v1
O Yarn v1 suporta a resolução de um pacote para uma versão definida . Você precisa adicionar uma
resolutions
seção ao seupackage.json
:Obrigado @jazd por esta maneira de resolver o problema.
Se o seu projeto estiver em desenvolvimento ativo e você usar o npm
Usando
npm-force-resolutions
como um script de pré-instalação, é possível obter um resultado semelhante ao do yarn v1. Você precisa modificar seu package.json desta maneira:npm-force-resolutions
alterará opackage-lock.json
arquivo para definirgraceful-fs
a versão desejada antes queinstall
seja concluído.Se você estiver usando um
.npmrc
arquivo personalizado em seu projeto e ele contiver um proxy ou um registro personalizado, precisará mudarnpx npm-force-resolutions
para,npx --userconfig .npmrc npm-force-resolutions
porque, a partir de agora,npx
não usa o.npmrc
arquivo de pasta atual por padrão.Origem do problema
Esse problema decorre do fato de que
[email protected]
depende degraceful-fs@^3.0.0
qualfs
módulo monkeypatches Node.js.Isso costumava funcionar com o Node.js até a versão 11.15 (que é uma versão de uma ramificação de desenvolvimento e não deve ser usada na produção).
graceful-fs@^4.0.0
não monkeypatchfs
mais o módulo Node.js. , o que o torna compatível com o Node.js.> 11.15.Observe que essa não é uma solução perene, mas ajuda quando você não tem tempo para atualizar
gulp@^4.0.0
.fonte
npm install
para regenerarpackage-lock.json
ounpm-shrinkwrap.json
, parecia não ter conseguido bloquear essas dependências. Depois de executar novamentenpm install --no-save
, o geradopackage-lock.json
ainda indica o npm para instalar as dependências ausentes.Use os seguintes comandos e instale o nó v11.15.0 :
resolverá
Referido das respostas @Terje Norderhaug @Tom Corelis.
fonte
Corrija em 1 minuto:
Basta seguir estes passos . Estou no windows 10 e funcionou perfeitamente para mim!
package.json
criou umnpm-shrinkwrap.json
arquivo com o seguinte conteúdo:Execute
npm install
e não se preocupe, ele será atualizadonpm-shrinkwrap.json
com vários conteúdos.Execute
gulp
para iniciar o projeto.fonte
Use os seguintes comandos para instalar
node v11.15.0
egulp v3.9.1
:Resolverá esse problema:
fonte
Usando o NVM para gerenciar a versão do nó que você está usando, os seguintes comandos funcionaram para mim:
fonte
10
vez do nome do código.O Gulp 3.9.1 não funciona com o Nó v12.xx e, se você atualizar para o Gulp 4.0.2, precisará alterar completamente o gulpfile.js com a nova sintaxe (série e paralelos). Portanto, sua melhor aposta é fazer o downgrade para o Nó V 11.xx, o 11.15.0 funcionou bem para mim. Simplesmente usando o seguinte código no terminal:
Felicidades!
fonte
teve mesmo erro e, finalmente, correção que quando atualizados todos os pacotes e, em seguida, mencionou a mesma versão do motor nó e versão npm em
package.json
como é no meu sistema de trabalho local.Eu estava recebendo esse erro ao implantar no heroku.
para obter mais suporte ao checkout heroku
fonte
Fazer o downgrade para o nó estável corrigiu esse problema para mim, pois ocorreu após o upgrade para o nó 12
sudo n 10.16.0
fonte
n
primeiro com: 'npm instalar -g n'TL: DR
Gulp
3.*
não funciona no Node12.*
ou acima. Você deve fazer o downgrade do Node ou atualizar o Gulp.Como outros já mencionaram, o Gulp
3.*
não é suportado no Node12
ou acima, portanto, você deverá fazer o downgrade da sua versão do Node para11.*
ou abaixo, OU atualizar seu Gulp para4.0
.A melhor opção depende, em última análise, de quanto tempo você tem, pois a atualização do Gulp traz benefícios de arquivos gulpfiles mais limpos e controle interno sobre a execução de tarefas em série ou paralela , mas também depende da reescrita do arquivo gulpfile para uma nova sintaxe, e pode (leia-se: provavelmente + verá o final deste comentário) causar conflitos com algumas dependências.
Nó de downgrade
Essa é a opção mais fácil e rápida. Especialmente se você usar n ou nvm , pois eles permitem a instalação e troca muito rápidas entre as versões do Nó.
Instalando a versão do Node no N
Instalando a versão do nó no NVM
Depois de fazer isso, talvez seja necessário reconstruir suas dependências do npm ou remover sua
node_modules
pasta E seupackage-lock.json
arquivo ou reinstalar suas dependências. Embora se você está apenas revertendo para uma versão de nó pré-existente, provavelmente deve estar bem.Atualizando o Gulp
Como mencionado acima, essa é uma tarefa mais demorada, mas pode trazer benefícios a longo prazo. Por exemplo, o Node
12
agora introduziu suporte nativo para módulos ES (atrás de um sinalizador experimental) e suporte completo no Node13
.Pode ser necessário atualizar o Node para usá-lo, forçando-o a atualizar o Gulp. Ou você pode simplesmente querer os benefícios do uso do Gulp 4, pois oferece controle melhor e mais eficiente sobre as tarefas de gravação.
Já existem vários artigos sobre isso, então não vou detalhar mais os detalhes, mas para reiterar - esse não é um trabalho rápido . Dependendo do tamanho do seu projeto, pode haver alguma reescrita notável necessária e você pode ter dependências que quebram. Se você estiver com pouco tempo, deve optar simplesmente por fazer o downgrade do Node, pelo menos temporariamente.
Mas eu já tenho o Gulp 4 e ainda não funciona!
Se, como eu, você já estiver usando o Gulp 4+ (eu estava usando o Gulp
4.0.2
, originalmente no Nó 10) e atualizou recentemente (atualizei paraNode 13.8.0
), você ainda está tendo o problema, pode ser porque uma dependência depende de um versão mais antiga do Gulp, e isso está ficando preso no pipeline.No meu caso,
gulp-combine-mq
era uma dependência usando o Gulp3.9.*
. Desabilitar esta tarefa no meu arquivo de gulp permitiu que o Gulp fosse executado novamente.Se isso acontecer, você tem algumas opções: você pode,
Escusado será dizer que, se você possui vários plugins que dependem da versão mais antiga do Gulp - especialmente se esses plugins são vitais para a sua aplicação - é aqui que pode haver uma grande parte do tempo gasto na atualização do Gulp (daí os avisos acima).
Se isso acontecer, é melhor fazer o downgrade do Node, pelo menos até que os patches possam ser emitidos.
fonte
Este erro ocorre devido à nova versão do Node (12) e a uma versão antiga do gulp (menor que 4).
Não é recomendável fazer o downgrade do nó e de outras dependências. Eu resolvi isso atualizando o
package.json
arquivo buscando a versão mais recente de todas as dependências. Para isso, eu usonpm-check-updates
. É um módulo que atualiza apackage.json
versão mais recente de todas as dependências.Referência : https://www.npmjs.com/package/npm-check-updates
Na maioria dos casos, teremos que atualizar
gulpfile.js
o seguinte, da seguinte forma:Referência : https://fettblog.eu/gulp-4-parallel-and-series/#migration
Antes:
Depois de:
fonte
Eu estava recebendo esse erro no Windows 10. Acabou sendo um perfil de roaming corrompido.
A exclusão da
C:\Users\{user}\AppData\Roaming\npm
pasta corrigiu meu problema.fonte
Basta seguir estes passos. Ele funcionou perfeitamente com o npm install executando várias vezes ou instalando outros módulos ou até mesmo publicando projetos no artefato.
No mesmo diretório em que você possui o package.json, crie um arquivo npm-shrinkwrap.json com o seguinte conteúdo:
Execute o npm install e não se preocupe, ele atualizará o npm-shrinkwrap.json com um monte de conteúdo. Vamos nos livrar dessas atualizações atualizando as opções de scripts package.json .
Agora você pode executar o npm install e seu npm-shrinkwrap.json estará intacto e funcionará para sempre.
fonte
Isso pode ter chegado tarde, mas, para quem ainda estiver interessado em manter o Nó v12 enquanto usa o gulp ^ 4.0 mais recente, siga estas etapas:
Atualize a interface da linha de comandos (apenas por precaução) usando:
Adicione / Atualize a
gulp
seção sob dependências do seu package.jsonExclua seu
package-lock.json
arquivoExclua sua
node_modules
pastaPor fim, execute
npm i
para atualizar e recriar a nova pasta node_modules e o arquivo package-lock.json com os parâmetros corretos para o Gulp ^ 4.0Nota O Gulp.js 4.0 apresenta os métodos
series()
eparallel()
para combinar tarefas em vez dos métodos de matriz usados no Gulp 3; portanto, você pode ou não encontrar um erro em seugulpfile.js
script antigo .Para saber mais sobre a aplicação desses novos recursos, este site realmente fez justiça a ele: https://www.sitepoint.com/how-to-migrate-to-gulp-4/
( Se ajudar, por favor, deixe um baque )
fonte
gulp-cli
? Eu segui seus passos e fiz tudo funcionar inicialmente; mas então eu desinstaleigulp-cli
(já que não vi onde estava sendo usado) e tudo ainda funcionava. Obrigado pela resposta, no entanto, porque estou novamente em funcionamento com o nodev12.9.1
e o Gulp4.0.2
!gulp-cli
é um utilitário de linha de comando. Seus garante uma instalação adequada de gole Como você pode ver na instalação gole passos aqui: gulpjs.com/docs/en/getting-started/quick-startCorrigi esse problema no Windows 10 desinstalando o nó de Adicionar ou remover programas -> Node.js
Em seguida, instalei a versão 11.15.0 em https://nodejs.org/download/release/v11.15.0/
Escolha node-v11.15.0-x64.msi se você estiver executando o Windows de 64 bits.
fonte
O Gulp está com problemas no Nodejs versão 11 e superior. Desinstale a versão atual do nó e reinstale o v10.15.1 aqui está o link para essa versão. Isso me ajuda e também resolverá o seu problema.
https://nodejs.org/download/release/v10.15.1/
fonte
Eu enfrentei o mesmo problema. O que eu tentei e trabalhei para mim:
Verifique a versão do NODE e GULP (a combinação do nó v12 e gulp menor que v4 não funciona)
Eu rebaixo a versão do NPM por:
Funcionou bem, então basta seguir as instruções do seu console.
fonte
Atualize para a versão 4.0.1 e certifique-se de migrar https://fettblog.eu/gulp-4-parallel-and-series/#migration
fonte
Para quem está usando
yarn
.fonte
Para qualquer pessoa com o mesmo erro pelo mesmo motivo no ADOS CI Build:
Essa foi a primeira pergunta que encontrei ao procurar ajuda. Eu tenho um pipeline de construção do ADOS CI em que a primeira tarefa do instalador da ferramenta Node.js. é usada para instalar o Node. A tarefa npm é usada para instalar o gulp (npm install -g gulp). Em seguida, a tarefa Gulp a seguir executa a tarefa padrão no gulpfile.js. Há algumas coisas gulp-sass nele.
Quando mudei a ferramenta Node.js. para instalar o nó mais recente 12.x em vez de um mais antigo, e a versão mais recente do gulp era 4.0.2. O resultado foi o mesmo erro descrito na pergunta.
O que funcionou para mim nesse caso foi fazer o downgrade do node.js para a versão 11.x mais recente, como já foi sugerido por Alphonse R. Dsouza e Aymen Yaseen. Nesse caso, embora não haja necessidade de usar nenhum comando sugerido, basta definir a especificação da versão do instalador da ferramenta Node.js. para a versão mais recente do Nó da versão 11.x.
A versão exata do Node.js que foi instalada e está funcionando foi 11.15.0. Não precisei fazer o downgrade do Gulp.
fonte
Eu acertei esse erro depois de atualizar meu nó para a versão 12, que não funciona com o Gulp 3.9.1. Em relação ao fato de o meu gulpfile.js não ser tão complexo, decidi atualizar para o Gulp 4 usando este artigo , correu bem e ficou muito mais fácil do que eu pensava.
fonte
Você tem duas opções aqui
fonte
Isso ocorre porque o problema de compatibilidade entre
node
egulp
no seu sistema. Anode
atualização ou a atualizaçãogulp
corrigirá esse problema.Tente remover a
node_modules
pasta e opackage-lock.json
arquivo e instale novamente usando onpm i
comando se ainda não estiver funcionando.fonte
O que funcionou para mim foi usar o python2 durante a instalação do npm.
fonte
Como também recebemos esse erro quando usamos o pacote s3 NPM. Portanto, o problema é que, com o pacote graceful-fs, precisamos atualizá-lo. Está funcionando bem no 4.2.3.
Portanto, basta olhar no pacote NPM que ele está mostrando nos logs rastreia e atualize o graceful-fs de acordo com 4.2.3.
fonte
Também estava recebendo erro no nó 12/13 com o Gulp 3, movendo-me para o nó 11 funcionou.
fonte
Resolvido fazendo o downgrade da versão do Node.js. de
12.14.0
para10.18.0
e reinstalandonode_modules
.fonte
Se você estiver tentando instalar
semantic-ui
e o seguinte erro ocorrer, tente baixar a versão mais recente do nójs(13.5.0)
com os recursos mais recentes, no Node.js.org. Além disso, em vez de tentar a semântica de instalação do NPM, basta adicionar o link (que pode ser encontrado do link cdnjs para o cabeçalho do seuindex.html
arquivo. Boa sorte!fonte
Etapas para corrigir o problema: -
Corrigi o problema com as seguintes etapas: -
Agora você pode engolir
fonte
Eu sugiro que você primeiro verifique se a instalação do NPM não é seu problema. Então você faz o downgrade das versões do nó e do gulp. Usei o nó 10.16.1 e o gulp 3.9.1.
Para fazer o downgrade do seu gole, você pode tentar
fonte