web-admin 을 서버에 올리는 중에 node-sass 에러가 발생하였다. 

결국 node_modules 파일을 통째로 올려서 에러를 해결했다. 

근데 이전에는 노드모듈 파일 없이도 여차저차 해결하긴 했다. 

그때 정리를 제대로 안해놓았더니 똑같은 문제에 봉착했다. 

stackoverflow.com/questions/49679808/error-eacces-permission-denied-mkdir-usr-local-lib-node-modules-node-sass-b

 

Error: EACCES: permission denied, mkdir '/usr/local/lib/node_modules/node-sass/build'

I am trying to run angular application and execute ng serve command then show Error: Cannot find module 'node-sass'.

stackoverflow.com

디렉토리 퍼미션 문제를 해결해주었다. 

sudo chmod -R 775 /usr/local/lib/node_modules/

sudo chmod -R 775 /내루트디렉토리

sudo npm install --unsafe-perm -g node-sass@4.14.1

로 버전을 맞추어 설치해주었다.

그냥 설치했을 때 버전이 달라서 의존성 에러가 나는듯 했다. 

 

저번 설치와 달리 이번에는 노드 모듈 자체에 node-sass 가 추가되질 않았다

node-sass -v 로 치면 잘 설치되었다고 나오는데..

그래서 결국 노드모듈을 통채로 올린 것이다. ㅠㅠ

 

21.03.03 추가

프로젝트가 끝난 한참 후에야 올린다. 일단.. 내가 서버에 올린 채로 npm install 한 것 자체가 말도 안되는 짓이었다.

프리티어는 감당 못해서 인스턴스는 자꾸 터지고 진짜 멘붕왔었다.

뭔가 치명적인 오류가 있는 걸까? 했는데 npm isntall 자체 부하를 못 견딘 것이었다.

 

결과적으로 나는 서버에 build 파일만 올려주면 됐었다. 일종의 exe, dmg 파일 같은 것이다. 하하

이걸 알았으면 아주 손쉽게 끝났을 문제인데 별에별 삽질을 다했다.

이걸로 얻은 교훈이 있다면

1. 어떤 프로젝트에 참여했다면 기술스택의 최소한의 조사를 하자. 구현에 급급해서 아무거나 건들이는 것 정말 치명적인 프로세스이다. 물론 이러한 방식이 운이 좋으면 생산성을 높여주지만, 그 반대의 경우는 치명적이다.

2. 기존 프레임워크를 잘 사용하고 싶다면 기존의 모듈 version 을 업글하거나 하는 짓은 하지말자. 의존성이 깨져서 동작이 안될 수 있다. 

'Backend Issue' 카테고리의 다른 글

카카오로그인 스프링부트 구현  (0) 2021.03.05
정규표현식 정리  (0) 2020.08.17
nginx node js 설정  (0) 2020.08.09
nginx nodejs mongodb mongoose  (0) 2020.08.09
키 파일 없이 ssh 접속  (0) 2020.08.01

+ Recent posts