IT

Gemfile에서 rubygem을 때 ~>와> =의 차이점은 무엇입니까?

lottoking 2020. 7. 26. 11:52
반응형

Gemfile에서 rubygem을 때 ~>와> =의 차이점은 무엇입니까?


나는 종종 Gemfile에서 다음 표기법 (~>)을 볼 수 있습니다.

gem "cucumber", "~>0.8.5"
gem "rspec", "~>1.3.0"

부호 (> =)가 크거나 같다는 것을 알고 싶습니다 (~>) 표기법은 무엇을 의미합니까? 둘 다 동일하거나 유의미한 차이가 동일하거나?


그것은 비관적 인 버전 제약 입니다. RubyGems는 버전에서 마지막 숫자를 증가시킬 때까지 사용할 수 있습니다. 따라서 ~>0.8.5의미는 다음과 가변됩니다.

gem "cucumber", ">=0.8.5", "<0.9.0"

쉽게 생각할 수있는 방법은 마지막 숫자가 임의의 값으로 증가해도 괜찮지 만 임의의 것에서 앞의 숫자는 제공 한 번보다 클 수있는 숫자는 제공됩니다. 따라서 5 보다 크거나 ~>0.8.5같은 경우 세 번째 숫자 (5)에는 모든 값을 사용할 수 있습니다. 0.8은 "0.8"이어야합니다.

예를 들어 0.9 버전이 몇 가지 주요 변경 사항을 구현할 생각하지만 전체 0.8.x 릴리스 시리즈가 단지 버그 수정이라는 것을 알고있는 작업을 수행 할 수 있습니다.

단순히 사용 그러나 ">=0.8.5"한다는 [해석] 0.8.5 버전이 허용됨 이상의을 나타냅니다 . 상한이 없습니다.


@millisami 다음과 같이 비관적 제약 조건을 사용하여 gemspec에 추가하는 데 사용할 수도 있습니다.

gem.add_runtime_dependency "thor", "~> 0.18.1"

보석 개발에 대해 잘 모르거나 그냥 개발하고 있다면 다음은 좋은 참고 자료입니다.

  1. 자신만의 RubyGem을 만드는 방법, 이와 관련된 표준 관행 및 다른 사람이 추가하는 방법을 설명하는 튜토리얼.
  2. 번 들러로 처음부터 보석을 만드는 방법

참고 URL : https://stackoverflow.com/questions/4292905/what-is-the-difference-between-and-when-specifying-rubygem-in-gemfile

반응형