개발 공부/React-Native

package.json에서 ~와 ^의 의미

애해 2023. 9. 27. 11:33
728x90

npm install로 라이브러리를 설치하다보면 저절로 버전 앞에 ~기호나 ^기호가 붙는것을 볼 수 있다. 

동일한 버전이라고 해도 기호에 따라 완전히 다른 라이브러리를 다운로드 받을 수 있으므로 각 기호의 의미에 대해 알아보자! 

package.josn 예시 화면

# 기호의 의미 

1. ^(캐럿 a.k.a 웃음표시) 기호

부버전은 올리지 않고 향후 모든 패치내용을 업데이트한다는 의미이다. 

예를 들어 ~1.2.3이라면 1.3.0 이전에 ~1.2.X release 버전까지는 반영한다는 의미이다. 

 

2. ~(틸드 a.k.a 물결표시) 기호 = ~version

주버전은 올리지 않고 향후 모든 부버전, 패치내용을 업데이트 한다는 의미이다. 

예를들어 ~1.2.3이라면 2.0.0 이전에 ~1.X.X release 버전까지는 반영한다는 의미이다. 

 

# 개인적인 꿀팁

지속적으로 리액트네이티브의 버전이 업데이트되면서 써드파티 라이브러리들도 업데이트가 이루어지고 있는데

유지보수를 하면서 라이브러리 설치 시점 기준으로 현재 사용하고 있는 리액트네이티브 버전과 업데이트된 라이브러리가 상충되어 오류가 발생하는 경우가 있다. 이 경우 ^기호를 제거하고 버전만 명시할 경우 오류가 없어지는 경우도 있으니 참고하자! 

 

# 참고

https://stackoverflow.com/questions/22343224/whats-the-difference-between-tilde-and-caret-in-package-json

 

 

반응형