yarn offline mirror(feat. 폐쇄망)

프로젝트
프로젝트
카테고리
Dev
작성일
2023-04-19
태그
Dev
작성자
꾸생
상태
공개
금융권이나 정부기관에서 일을 한다면 인터넷 조차 안되는 환경에서 개발을 할 수 있는데, 오프라인 환경에서 npm 패키지를 사용하는 방법으로 node_modules 폴더를 통째로 옮겨가는 것이 아닌 사용중인 패키지를 tgz 압축 상태로 만들어 옮긴다음 패키지를 설치하는 방법이다.
압축한 파일을 반입하기 위해 절차가 또 있을 수 있다 😇 

패키지 압축

1. 해당 프로젝트 경로 이동

$ cd <프로젝트 경로>

2. .yarnrc 파일 생성

// .yarnrc 파일 생성 $ touch .yarnrc

3. .yarnrc 파일에 위 내용 작성

// .yarnrc yarn-offline-mirror "./npm-packages-offline" yarn-offline-mirror-pruning true

4. 캐시 삭제

yarn cache clean

5. 설치된 패키지 삭제

$ rm -rf node_modules $ rm yarn.lock

6. 패키기 설치

yarn install
프로젝트 루트 경로에 npm-packages-offline폴더가 있을텐데 안에는 tgz 압축파일이 있다. 이제 node_modules 폴더를 제거하고 프로젝트를 압축해서 가져간다. 가져가기 전 2번에 파일도 챙기도록 한다.

오프라인 패키지 설치

1. 오프라인에서 yarn 설치

yarn offline mirror 를 사용하기 때문에 yarn 패키지 메니저 설치는 필수다. yarn에서 js파일로 설치할 수 있도록 파일을 제공하고 있는데, 파일 크기는4.87MB 수준이다.
// yarn 설치 명령어 node ./yarn-1.22.19.js install --offline --production
노드 명령어로 신나게 설치한다.

2. 오프라인 설치

yarn install --offline --production
프로젝트 루트 경로로 이동해서 위 명령어로 설치해 준다. yarn이 알아서 npm-packages-offline 폴더를 뒤져가며 패키지를 설치해 줄 것이다.

Reference