일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 우메다홀릭호텔
- 제주도여행
- 일본첫여행
- 결혼준비예상비용
- Docker
- 오사카여행
- windows10
- 부천데이트맛집
- 혼공컴운
- 제주여행비용정리
- 교토숙소
- 혼공컴운스터디
- 일본여행
- 강서구웨딩홀추천
- 컴퓨터구조
- 비아인프라임교토에키
- 교토여행
- 제주도가성비여행
- 부천역맛집
- Linux
- 부천술집
- 문래맛집
- WSL2
- 부천데이트
- 전세대출
- 허그전세대출
- 혼공컴운자습문제
- 전세사기
- 부천맛집
- reduce함수 예제
- Today
- Total
sugar.kim
react : material-css(css/scss) 적용....(삽질 많이 했는데 버전 안맞아서 그랬고T.T) 본문
현재 두잇 리액트 보면서 실습 중에 해결 한 에러 : material.css 는 문제 없이 잘 실행 되었는데 material.scss를 실행시키기 위해 node-sass 를 설치하는데 계속 해당 에러가 노출되었다.
Error: Node Sass version 9.0.0 is incompatible with ^4.0.0.
구글링 해보며 찾은 것들 다 해보아도 안되었는데(node-sass 이제 못쓰니까 삭제하고 sass 설치해서 써라. 아님 dart sass 설치해서 써라. 해보아도 계속 metarialize.scss를 사용하려면 node-sass를 설치하라는 에러가 떴다.)
결론은 검색 결과는 도움이 안 되었고 ... node version에 맞춰서 node-sass를 설치해서 쓰거나, node-sass버전에 맞는 node version으로 업그레이드하거나 다운그레이드 하는게 맞았고, 설치 명령어 실행 시에 꼭 --ignore-engines를 붙여 함께 실행 해주어야 scss 사용이 가능해지는 것을 확인했다. (--ignore-engines 는 특정 버전 설치시에는 꼭 사용)
먼저, 책에서 정해준 환경과 버전에 맞추어 실행하면 문제없이 실행되는 것이기는 하다. But 나는 그냥 실습만 빠르게 해보려고 노드 버전을 최신 lts 버전인 v23.3.0 으로 사용 중이었는데 이게 문제 였던 것.
OS = Macbook M1 (OS X) 64bit
환경에서 실행 중이고 현재 node-sass 최신 버전은 9.0.0으로 node 버전 20까지만 지원을 한다. 이말인 즉슨, node-sass@9.0.0은 아직 내가 사용 중인 node -v 23.3.0에서 사용 할 수 없는 것....
https://github.com/sass/node-sass/releases/tag/v9.0.0
그래서 실습중인 책에서 권장하는...(다시 읽어보니 노드제이에스 8버전에 맞춰서 개발 되어있다고 적혀있네...;) 무튼 실습중이니 해당 버전에 맞추기 위해 nodeJs 버전을 v10.10.0 사용으로 바꿔 주었다.
#nodeJS 버전 변경
nvm use 10.10.0
#nodeJS 버전 변경 고정설정
nvm alias default 10.10.0
#노드 버전 확인
node -v
바꿔 준 뒤에 실습 책의 package.json 내용 참고해서 라이브러리 설정 다시 해주고 node_modules 폴더 지우고, yarn.lock 지우고 다시 설치 해주었다.
#package.json 파일에 있는 node-sass 버전
...
"node-sass": "^4.11.0"
...
#라이브러리 재설정 프로젝트 루트에서 명령어실행(호환에러 무시하고 설치진행하려고 --ignore-engines 추가
yarn install --ignore-engines
책에 있는 버전인 4.11.0 호환되는 node버전에 10있음....
https://github.com/sass/node-sass/releases/tag/v4.11.0
#혹시 yarn start했는데 노드 버전 에러 나오면, node-sass 삭제하기
yarn remove node-sass
#현재 사용 중인 노드 버전에 맞는 node-sass깔기 (--dev는 package.json의 devDepencies에서 하나 이상 설치)
yarn add --dev node-sass@4.11.0 --ignore-engines
materialize.css / materialize.scss 사용할 때 zip파일 다운 받아서 압축 풀어서 써도 되긴 한데... 나는 걍 아래 명령어로 node_modules아래에 받아주었다.
yarn add materialize-css
프로젝트 내의 node_modules 폴더에서 materialize-css 폴더 아래에 materialize.css , materialize.scss를 import해서 사용하면 된다.
#App.js에서 각각 임포트해서 사용하면 됨....
//materialize.css 사용
import 'materialize-css/dist/css/materialize.min.css'
//materialize.scss 사용
import 'materialize-css/sass/materialize.scss';
지금 생각해보면 그냥 에러가 알려준대로 했으면 금방 끝날 문제였는데 오늘의 까막눈이었따...; ㅜㅜ
1. node-sass와 버전과 호환이 되는 node의 버전을 설치하면 해결 된다.
2. 정해진 버전으로 설치할 때는 --ignore-engines 옵션 추가하여 설치 하자.
'DEV > React' 카테고리의 다른 글
vscode prettier 플러그인 설치 & .prettier파일 작성 & 입력 스타일(코드) 적용 (0) | 2024.12.03 |
---|---|
스토리북 실행 시 TypeError: input.flat is not a function 해결 (0) | 2024.12.02 |
React Component 상위 컴포넌트로부터 갱신된 프로퍼티 값 동기화하기 예제 (1) | 2024.11.21 |
React Component Lifecycle (컴포넌트 생명 주기) (0) | 2024.11.21 |
자바스크립트 es6 주요 문법 정리 (리액트에 필요함) (1) | 2024.11.16 |