Utworzyłem pusty projekt React, używając polecenia: npx create-react-app
na npm v7.0.7 i Node v15.0.1
Zainstalowano:
- React v17.0.1,
- node-sass v5.0.0,
Następnie próbowałem zaimportować pusty plik .scss do komponentu aplikacji:
App.js
import './App.scss'
function App() {
return (
<div className="App">
App
</div>
);
}
export default App;
Zgłoś błąd:
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.
package.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"
},
...
}
}
yarn add [email protected]
jest znacznie szybszyOdinstaluj node-sass
użyj sass przez:
źródło
npx sass
w repozytorium projektu.Jedynym powodem, dla którego otrzymujesz taki błąd, jest to, że twoja wersja węzła nie jest kompatybilna z wersją node-sass.
Tak więc, sprawdź dokumentację tutaj: https://www.npmjs.com/package/node-sass
Lub poniższy obrazek pomoże ci, jaka wersja węzła może korzystać z wersji node-sass.
Na przykład, jeśli używasz węzła w wersji 12 w systemie Windows („być może”), powinieneś zainstalować wersję 4.12 node-sass .
npm install node-sass@4.12
Tak, właśnie tak. Teraz musisz tylko zainstalować wersję node-sass zalecaną przez zespół node-sass z węzłami zainstalowanymi na twoim komputerze.
źródło
npm install node-sass@^4.12
tego samego, co instalacja 4.14.1 (najnowsza znana wersja v4).npm install [email protected]
. Ale próbowałem z node-sass 4.14.1 w nodejs 12.18.3 i nie działa. Dlatego zaleciłem użycie wersji zalecanej przez zespół node-sass, a której nie używam^
. Ponieważ zaktualizuje się do najnowszej wersji node-sass 4Jeśli zdarzy ci się używać CRA z domyślnym
yarn
menedżerem pakietów, użyj następującego. Pracował dla mnie.yarn remove node-sass yarn add node-sass@4.14.1
źródło
U mnie zadziałało po dodaniu określonej wersji pakietu node-sass ([email protected])
źródło
Ten błąd występuje, gdy wersje NodeJS i Node Sass nie są dopasowane.
możesz rozwiązać problem, wykonując poniższe czynności:
- Krok 1 : Usuń Nodejs z komputera
- Krok 2 : Ponownie zainstaluj Nodejs w wersji 14.15.1.
- Krok 3 : Odinstaluj Node Sass, uruchamiając polecenie
npm uninstall node-sass
- Krok 4 : Ponownie zainstaluj Node sass w wersji 4.14.1, uruchamiając polecenie
npm install [email protected]
Po wszystkich krokach możesz uruchomić polecenie,
ng serve -o
aby uruchomić aplikację.Węzeł Sass w wersji 5.0.0 jest niezgodny z ^ 4.0.0.
źródło
Jeśli błąd to
Krok 1: zatrzymaj serwer
Krok 2: uruchom polecenia są
npm uninstall node-sass
Krok 3: sprawdź,
package.json
czy node-sass jest dostępny w pliku, a następnie ponownie uruchom Krok 2.Krok 4:
npm install [email protected]
<=== uruchom polecenieKrok 5: poczekaj, aż polecenie zostanie pomyślnie uruchomione.
Krok 6: uruchom serwer za pomocą
npm start
źródło