1-6 배포를 위한 yarn 학습
VS Code의 Terminal에서 진행된다.
1) 글로벌 환경에서 yarn 설치하기
npm install -g yarn
#npm을 이용하여 전역 환경에 yarn을 설치한다
전역 환경에 yarn 패키지 매니저를 만들었기 때문에
어디서든 사용할 수 있습니다.
2) yarn 버전 확인 방법
yarn -v
로 설치된 yarn의 버전을 확인할 수 있습니다.
3) yarn 시작하기
yarn init
yarn을 초기화를 하는 작업으로
새로운 프로젝트나 패키지를 만들 때
사용됩니다.
실행하면,
1. 먼저 어떤 이름으로 프로젝트를 실행할 것
2. 기본적인 버전 몇으로 설정할 것인지
3. 추가적인 설명
4. (중요) 서버를 실행할 때 어떤 파일로 실행해야 하는지
5. 프로젝트를 관리하는 저장소 내용
6. 실제 프로젝트를 만든 사람 이름
7. 라이센스를 어떻게 처리할 것인가
8. 개인적인 정보는 무엇인가
기본적으로 Enter를 누르면, (~~) 괄호 안의 내용으러 설정된다.
위와 같이 작업을 완료하면,
package.json 파일이 생성되는걸 볼수 있다.
package.json 파일이 내부를 살펴 보면
이름, 버전, 서버와 제일 먼저 연결할 파일명, license 등을
확인할 수 있습니다.
4) yarn add [패키지 명]
yarn으로 패키지를 설치할 때 사용하는 명령어
yarn add [패키지 명]
으로 설치하고 싶은 패키지를 설치할 수 있습니다.
만약, 여러 패키지를 다운 받고 싶다면,
yarn add [패키지 명](공백)[패키지 명]
으로 가능합니다.
ex) yarn add express, yarn add express mongoose jest
1. yarn add express
2. yarn add express mongoose jest
이렇게 express, moongoose, jest를 설치하면
위와 같이
node_modules 파일이 생성되고,
yarn.lock이라는 파일이 생성된다.
그리고, package.json 파일에는
dependencies 항목이 생기고,
express 버전, jest 버전, mongoose 버전이
dependencies의 요소로 만들어진 걸 볼 수 있습니다.
다음으로, yarn.lock을 살펴보면
yarn이 관리하는 세부적인 의존성들에 대한
모든 관계가 정의 돼 있습니다.
내부를 살펴보면
우리가 express의 버전을 4.19.2를 사용한다는걸
확인할 수 있습니다.
그리고 추가적으로 express 버전에서
어떤 것을 추가적으로 의존하고
있는지를 확인할 수 있습니다.
마지막으로
yarn lock과 관련된 모든 package 정보는
node_modules 안에 저장됩니다.
3) node_modules ?
node_modules는 yarn add 명령어를 통해 설치된 패키지들이 저장되는 폴더입니다.
그래서, package.json 파일에 작성된 각 패키지와 그 패키지가 의존하는
다른 패키지 또한 모두 node_modules 폴더에 저장됩니다.
node_modules는 사용중인 환경에 맞는 파일들이 설치되기 때문에
공유하거나 배포하면 안 됩니다. (Git에서 제거하는 방법을 배울 예정)
5) yarn
yarn 명령어가 입력되면 yarn.lock 파일과 package.json 파일을
기반으로 필요한 패키지를 설치하게 됩니다.
작업한 프로젝트를 다른 사람에게 공유하거나 다른 사람의 프로젝트를 새롭게 시작할 때
패키지를 설치하기 위해 실행하는 명령어 입니다.
dependencies와 devDependencies는 어떻게 다른가요?
dependencies
- yarn add [패키지 명] 명령어를 통해 설치한 패키지들이 나열된 곳
- 프로젝트 실행과 배포(Deploy)시 필수적으로 필요한 패키지의 이름과 버전을 표시한다.
devDependencies
- yarn add -D [패키지 명] 명령어를 통해 설치한 패키지들이 나열되는 곳 입니다.
- 개발 또는 빌드(Build) 단계에서 필요한 패키지들을 설치할 경우 이곳에 포함 됩니다.
ex) 여서기 빌드 단계는 테스트 코드 실행이나, TypeScript를 JavaScript로 변경하는 단계입니다.
5) npm과 yarn의 명령어 비교하기
6) 정리하기
node_modules : 이 폴더는 공유하거나 배포할 때 포함 되면 안 되는 폴더
-> package.json 파일과 yarn.lock 파일을 이용하여
동일한 패키지 버전을 설치할 수 있다.
package.json : 해당 파일만 있다면 언제든지 해당 프로젝트에 필요한 패키지를 설치할 수 있다.
yarn 명령어를 이용하여 해당 파일에 정의된 모든 패키지를 node_modules 폴더에 설치 할 수 있다.
yarn add : 해당 명령어는 yarn 패키지 매니저를 이용하여 패키지를 설치할 수 있다.
설치된 패키지 정보는 package.json 파일에 자동 추가된다.