[npm] lerna

dev stefanCho·2021년 9월 29일
0

npm

목록 보기
4/8

lerna는 여러 project(package)를 하나의 프로젝트 안에서 관리해줄 수 있는 tool이다. 특정 버전(3.22.1)에 대해서 작성한다.

특징

  • package를 node-module에 직접 설치하는 것이 아니라, link를 가져오는 방식이기 때문에, package의 버전이 변하더라도 따로 설치하지 않아도 되는 장점이 있다.
  • 여러가지 project를 한곳에서 버전관리할 때 사용하면 된다.

npm install lerna

> npm install -g --save-exact lerna@3.22.1
> mkdir my-app
> cd my-app
> lerna init

# lerna init 하면 기본적으로 lerna.json, package.json, packages가 설치된다.
# packages directory가 생성되고, packages directory에 모든 project를 넣어주면 된다.

directory 구조

아래 cli, local-api, local-client는 각각 다른 project들이다. packages 아래에 넣어서 관리하게 된다.

.
├── lerna.json
├── package.json
└── packages
    ├── cli
    ├── local-api
    └── local-client

4 directories, 2 files

특정 project에만 npm module 설치하기

> lerna add express --scope=cli # express를 packages/cli 에만 설치한다.
> lerna add local-api --scope=cli # local-api package를 package/cli 에만 설치한다.
> lerna add @types/node --dev --scope=cli # --save-dev로 설치한다.
> lerna run start --parallel # packages안에 있는 project들에서 start가 있는 것들을 모두 npm start 시킨다.

package.json의 dependency를 변경하고 나서 bootstrap 명령을 실행한다.

> lerna bootstrap # dependency를 바꾸고 새로 설치 (다시 link) 해주는 명령어

publish

> lerna publish --no-push # github에 push하지 않고 npm publish
profile
Front-end Developer

0개의 댓글