Erro: Node SAS versão 5.0.0 é incompatível com ^4.0.0
criei um projecto React em branco, usando o comando: npx create-react-app
no MPN v7. 0.7 e nodo v15.0. 1
instalado:
- reaja v17.0.1,
- node-SAS v5.0.0,
App.js
import './App.scss'
function App() {
return (
<div className="App">
App
</div>
);
}
export default App;
Lançar um Erro:
Failed to compile.
./src/App.scss (./node_modules/css-loader/dist/cjs.js??ref--5-oneOf-6-1!./node_modules/postcss-loader/src??postcss!./node_modules/resolve-url-loader??ref--5-oneOf-6-3!./node_modules/s
ass-loader/dist/cjs.js??ref--5-oneOf-6-4!./src/App.scss)
Error: Node Sass version 5.0.0 is incompatible with ^4.0.0.
pacote.json
{
"name": "react-17-node-sass-5",
"version": "0.1.0",
"private": true,
"dependencies": {
"@testing-library/jest-dom": "^5.11.5",
"@testing-library/react": "^11.1.0",
"@testing-library/user-event": "^12.1.10",
"node-sass": "^5.0.0",
"react": "^17.0.1",
"react-dom": "^17.0.1",
"react-scripts": "4.0.0",
"web-vitals": "^0.2.4"
},
...
}
}
9 answers
TL; DR
npm uninstall node-sass
npm install [email protected]
Ou, se usar fios (por omissão nas versões mais recentes da CRA)
yarn remove node-sass
yarn add [email protected]
Edit2 : sass-loader v10.0.5 fixa-o. O problema é que você pode não estar usando isso como uma dependência de projeto, mas mais como uma dependência de suas dependências. CRA usa uma versão fixa, angular-cli bloqueia para node-SAS v4 E assim por diante.
A recomendação para agora é: instalar apenas o nó-sass verificar abaixo workaround (e a nota). Se estiver a trabalhar num projecto em branco e puder gerir a configuração do seu pacote web (não usando o CRA ou um CLI para carregar o seu projecto) instale o mais recente sass-loader.
Edit : Este erro vem de sass-loader . Existe um desfasamento entre semver, uma vez que o node-sass @latest é v5.0.0 e o sass-loader espera ^4.0.0.
Há um problema aberto em seu repositório com uma correção associada que precisa ser rever. Até lá, consulte a solução abaixo.
Workaround : não instale ainda o node-sass 5.0.0 (a versão principal acabou de ser anulada).
Desinstalar nó-sass
npm uninstall node-sass
Depois instale a última versão (antes de 5.0)
npm install [email protected]
Nota: LibSass (daí o node-sass também) é depreciado e dart-sass é a implementação recomendada. Você pode usar sass
em vez de, que é uma distribuição de nó de dart-sass compilado para JavaScript puro.
Mas fica avisado:
Tenha cuidado com esta abordagem. Reat-scripts usa sass-loader v8, que prefere node-sass a SAS (que tem alguma sintaxe não suportada por node-sass). Se ambos estiverem instalados e o utilizador trabalhar com o SAS, isto poderá levar a erros na compilação do css
Desinstalar nó-sass
npm uninstall node-sass
Utilizar sass por:
npm install -g sass
npm install --save-dev sass
A única razão pela qual você tem algum erro assim, é porque a sua versão do nó não é compatível com a sua versão do node-sass.
Então, certifique-se de verificar a documentação aqui: https://www.npmjs.com/package/node-sassOu esta imagem abaixo irá ajudá-lo, Qual a versão do nó pode usar a versão do nó-sass.
Por exemplo, se estiver a usar node version 12 nas suas janelas ("talvez"), então você deve ter que instalar o nodo-sass versão 4.12 .
npm install [email protected]
Sim, assim. Então agora você só precisa instalar a versão node-sass recomendada pela equipe node-sass com os nós instalados em seu computador.
Se por acaso usar o CRA por omissão yarn
, use o seguinte. Funcionou comigo.
yarn remove node-sass
yarn add [email protected]
Funcionou para mim depois de adicionar uma versão particular do pacote node-sass ([email protected])
Se o erro for
Erro: Node Sass versão 5.0.0 é incompatível com ^4.0.0
Passo 1: parar o servidor
Step2: os comandos de execução são npm uninstall node-sass
Step3: verificar o nó-sass em package.json
Se o nó-sass estiver disponível no ficheiro, então execute novamente o Step2.
Passo 4: npm install [email protected]
Passo 5: Espere até o comando ser executado com sucesso.
Passo 6: iniciar o servidor usando npm start
Este erro ocorre quando as versões do NodeJS e do Node Sass não são correspondidas.
Pode resolver o seu problema fazendo o seguinte:
- Passo 1 : remover os Nodejs do seu computador
- Passo 2 : Reinstall Nodejs version 14.15.1.
- Passo 3 : desinstalar o nó sass executando o comando npm uninstall node-sass
- Passo 4 : reinstalar o nó naus versão 4.14.1, executando o comando npm install [email protected]
Depois de todos os passos, você pode executar o comando ng serve -o
para executar a tua candidatura.
Pequena actualização: se ficar abaixo do erro em relação ao nó-sass, siga os passos indicados abaixo.
Código EPERM
npm ERR! syscall unlink
Passos para resolver o problema:
- fechar o estúdio visual
- remover manualmente .nodo-sass.Apagar do node_ modules
- open visual studio
- verificação da 'cache' do MPN
- npm install [email protected]
Isto é um problema de versão, instale a versão dependant direita
npm uninstall node-sass
npm install [email protected]