본문으로 건너뛰기

node-sass와 sass로의 전환

약 2 분armnodejs

node-sass와 sass로의 전환

aarch64에서 vuepress 실행을 위해 테스트를 하던 도중 node-gyp와 node-sass에 대한 오류를 맞이하게 되었다.

node-sass의 경우 arm환경에 대한 빌드 릴리즈가 없는 관계로 npm install을 실행하면 다시 빌드를 하게되는데, 이때 node-sass를 빌드하는 과정에서 빌드 실패가 발생함

node-sass란?

node환경에서 sass는 css 코드로 변환해주는 스타일 전처리언어이다. c/c++로 되어있는 구성요소로 인해 빠른 빌드 속도를 제공한다.

node-sass와 Nodejs 버전별 호환성

관련 내용을 찾다보면 Node 버전에 맞는 node-sass를 사용해야 한다고 나오는데 그 이유는 libsass 때문이고 c/c++로 되어있는 해당 라이브러리 특성상 Node 버전과 실행 환경에 종속적이다.

node-sass 지원 환경 (https://github.com/sass/node-sass/releasesopen in new window)

OSArchitectureNode
Windowsx86 & x6412, 14, 16, 17
OSXx6412, 14, 16, 17
Linux6412, 14, 16, 17
Alpine Linuxx6412, 14, 16, 17
FreeBSDi386 & x6412, 14

추가로 node-sass는 항후 Dart Sass로 옮겨진다로 안내되어있음

https://github.com/sass/node-sassopen in new window

Dart Sass 로의 전환

stackoverflow에서 기존 node-sass를 사용하고 있는 경우 해당 프로젝트를 Dart Sass로 전환하는 선언 방식을 알려줬다.

https://stackoverflow.com/a/70171361open in new window

npm remove node-sass
npm i node-sass@npm:sass -D

package.json에 다음과 같이 추가된다.

  "devDependencies": {
    "node-sass": "npm:sass@^1.55.0",
  },