들어가며
타입스크립트를 설치했음에도 tsc 명령어가 동작하지 않는 현상 에서 해결하는 과정에서 기존에 작업중이던 프로젝트 를 구동하면 빌드 과정 에서 실패 가 발생하는 문제가 생겼다.
현상
npm start 시 (build 관련 스크립트도 함께 동작) npm Err! 가 발생한다.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! node-sass@6.0.1 postinstall: `node scripts/build.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the node-sass@6.0.1 postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/space.developher/.npm/_logs/2023-01-30T00_30_49_502Z-debug.log
문제 원인 고민
brew 를 이용한 타입스크립트 설치 과정에서 node.js 버전이 최신 버전(19 버전)으로 업데이트 되서 프로젝트 패키지 와의 호환성 문제로 발생하는 것이라고 생각했다.
node.js 버전을 낮추면 돌아가지 않을까 생각했다.
시도
nvm 을 설치해서 node.js 버전을 낮추면서 정상적으로 동작하는지 시도했다.

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! node-sass@6.0.1 postinstall: `node scripts/build.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the node-sass@6.0.1 postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/space.developher/.npm/_logs/2023-01-30T00_30_49_502Z-debug.log
해결되지 않고 여전히 등작하는 npm ERR 의 향연
왜 버전을 낮추는데도 똑같은 에러가 발생할까?
문제 원인 고민2
nvm 으로 node.js 버전을 다시 설치해도 계속해서 실패되는 상황이다.
stackoverflow 서칭 내용 과 유사한 부분이 있다고 생각된다. (난 MacOS/M1 유저이다.)
글에서는 15 버전 미만 노드 에서는 ARM 아키텍처 의 경우 지원하지 않는다고 한다.
따라서, Rosetta 2 를 사용해서 node.js 를 설치 해야한다고 한다.
시도2
기존에 사용중이던 터미널 iterm 2 를 rosetta 2 버전으로 변경해서 사용해보자.
1.응용 프로그램 에서 iterm 2 를 복제 한다.

2.복제한 iterm 2 를 우클릭 해서 정보 가져오기 를 누른다.

3.rosetta 를 사용해서 열기 를 체크해서 연다.

4.기존에 설치했었던 nvm 과 node 를 삭제하자(재설치 하기 위해서)
- nvm 제거
brew uninstall nvm- node 제거
brew uninstall node
➜ ~ brew uninstall node
Error: No such keg: /opt/homebrew/Cellar/node
음?? node 가 제거되지 않는다. 이미 지워진건가? 확인해보자
➜ ~ node -v
v14.21.2
node 는 여전히 살아있다.
명령어로 삭제하지 못하니 직접 접근해서 node 를 제거 하자.
1)node 가 어디있는지 확인하자.
2)node 경로 확인
which node
➜ ~ which node
/usr/local/bin/node
3)node 가 존재하는 폴더로 이동
cd /usr/local/bin
4)우선 목록 확인부터 한다.
➜ ~ ls
corepack n node npm npx
5)node 직접 제거하자.
sudo rm -rf node npm
6) 제거 완료됐다.
5.n 을 활용해서 node 14 버전 을 재설치하자.
sudo n 14
➜ bin sudo n 14
copying : node/14.21.2
installed : v14.21.2 (with npm 6.14.17)
잘 설치되었다. 확인해보자
➜ bin node -v
v14.21.2
설치 잘되었다.
해결
rosetta 터미널 에서 해당 프로젝트 에 접근해서 npm start 하였다

오! 스크립트들이 정상적으로 실행되기 시작한다.
시간이 지나니 빌드가 정상적으로 완료되고 프로젝트가 실행되었다.
주말을 바쳤던 node 문제가 해결되는 순간이다. 기쁘다.

레퍼런스
https://github.com/nvm-sh/nvm/issues/2350
https://stackoverflow.com/questions/67254339/nvm-install-node-fails-to-install-on-macos-big-sur-m1-chip
https://stackoverflow.com/questions/49648514/how-to-uninstall-n-and-all-node-versions-installed-by-n
https://velog.io/@jong/Mac%EC%97%90%EC%84%9C-Node.js%EC%99%80-NVM-%EC%82%AD%EC%A0%9C%ED%95%98%EA%B8%B0
https://jhyeok.com/m1-trouble-shooting/
'프론트엔드 > 트러블 슈팅' 카테고리의 다른 글
| 터미널 - SSH 변경 접속시 에러 처리 방법 (0) | 2023.02.13 |
|---|---|
| git push origin 할때 `error TS2688: Cannot find type definition file` lint 에러가 발생한 현상 (0) | 2023.02.02 |
| npm start 시 loader.js 에서 throw err 가 발생하는 현상 해결 (0) | 2023.01.31 |
| MacOS/맥북/M1 - HomeBrew 설치 후 brew 명령어를 찾을 수 없는 문제 해결 (zsh: command not found: brew) (0) | 2023.01.27 |
| 타입스크립트를 설치해도 tsc 명령어가 동작하지 않는 현상 해결 (0) | 2023.01.26 |