npm으로 라이브러리를 설치하게 되면 package.json에 변화가 생긴다.
공식 문서를 보면
npm install ${라이브러리 이름} --save를 볼 수 있는데 --save를 왜 쓸까?
기존에는 npm 명령어를 사용해도 dependencies 필드에 패키지가 자동으로 추가 되지 않았다. 그렇기 때문에 --save 옵션을 사용했어야 했다. 즉 --save는 dependencies 필드에 패키지를 추가하도록 하는 옵션이다.
하지만 npm5 버전 이후에는 --save 옵션이 기본적으로 적용되기 때문에 굳이 적어줄 필요가 없다.
npm install ${라이브러리} --save-dev는?
package.json에는 dependencies 와 devDependencies 필드이 있다. 결론 먼저 말하자면 --save-dev를 붙이게 되면 devDependencies에 들어가게 되며 개발 목적에서만 모듈이 돌아간다. 배포 상태에서도 해당 모듈을 쓰고 싶으면 --save-dev를 빼야 한다.
node_modules가 너무 용량이 커서 배포할때는 필요 없는 라이브러리를 지우고 작업하기 위해서이다.
협업을 하게 될 때 혹은 초기세팅을 하고 클론을 받게 되면 npm이 실행되지 않을 경우가 있다. 이때는 여러가지 이유가 있는데 package.json과 package.lock.json 이 충돌날 때 실행되지 않는다.
이럴 때는 node_modules, package.lock.json를 지우고 다시 npm install를 해주면 된다.
node_modules는 그냥 지워지지 않기 때문에 -f(force) 옵션을 붙여
rm -rf로 지워야 한다. 강제로 지우는 것이기 때문에 현재 경로를 정확히 보고 지워야 한다.

현재 위치가 최상위 경로 aiboard-next이기 때문에 여기서 지워주어야 한다.

현재 위치를 pwd로 확인해주고 그래도 불안하다면 ls로 지금 현재 위치에 있는 폴더와 위 그림 좌측에 있는 폴더들이 같은지 확인해준다.

rm -rf로 지워주면node_modules와lock파일이 지워진 것을 볼 수 있고 다시npm install를 해주면package.json를 읽고 다시 설치가 된다.