lerna 패키지 인식 안될 경우 해결 방법

0

1. lerna 설치

lerna로 되어 있는 프로젝트를 처음 접했을 때,
패키지간 import가 제대로 인식되지 않는다면 lerna가 설치되어있는지 확인해보자.
설치되어있어야 동작하는 것은 당연하기 때문

2. lerna 버전 확인

프로젝트와 내 로컬 환경의 lerna 버전이 다르면 많은 것이 꼬인다.

lerna 5.x.x와 달리 최근의 lerna 버전 7.2.0 에서는
yarn install을 하면 자동으로 link가 되기 때문에 $ lerna bootstrap이 필요없고 lerna.json에"useWorkspaces": true 옵션도 필요 없다.

이를 모르고 bootstrap 명령어를 실행시킨다든지 하면 매우 꼬일 수 있음을 주의하자!
패키지간 인식이 안되는 경우가 생긴다.

만약 했다면,
lerna.json에 "useWorkspaces": true 을 유지한 채

a) 버전 재설정

$ yarn global add lerna@타겟버전

b) yarn cache 정리

$  yarn cache clean   

c) yarn 재설치

$ yarn install

를 하면 기존의 방식대로 link가 잘 동작된다.

3. 패키지 간 Hot loading

패키지 A, B, C가 서로의 모듈을 쓰고 있을때,
코드의 수정 사항이 실시간으로 전체에 영향을 주게 하려면

수정하고자 하는 패키지에 가서

$ yarn link

를 해주고, 영향을 받는 패키지에 가서

$ yarn link "모듈명"

을 해주고 다시 build 하면 된다.

참고로 build 스크립트를 다음과 같이 설정해주었다.

  "scripts": {
    "build": "npx tsc -p . --outDir lib --watch",
  },

profile
𝙸 𝚊𝚖 𝚊 𝗙𝗘 𝚍𝚎𝚟𝚎𝚕𝚘𝚙𝚎𝚛 𝚠𝚑𝚘 𝚕𝚘𝚟𝚎𝚜 𝗼𝘁𝘁𝗲𝗿. 🦦💛

0개의 댓글