Programing

Ruby gem 의존성에서 ~보다 큰 물결표 (~>)는 무엇을 의미합니까?

lottogame 2020. 6. 24. 07:59
반응형

Ruby gem 의존성에서 ~보다 큰 물결표 (~>)는 무엇을 의미합니까? [복제]


이 질문에는 이미 답변이 있습니다.

~>Ruby gem depenedencies와 관련하여 무엇을 의미합니까?

예를 들어, RubyMine IDE에서 레거시 프로젝트를 열 때이 메시지가 나타납니다.

프로젝트에 필요한 보석은 첨부되어 있지 않습니다 :
아레 (~> 2.0.2),
rspec-expectation (~> 2.5.0) ...

나는 루비 세계의 다른 곳에서보다 물결표가 큰 표기법을 보았습니다 (RubyMine에만 국한되지는 않습니다). 이 연산자는 어색하게 울리는 물결표 이외의 이름을 가지고 있습니까?


"마지막 숫자 ~> 2.3보다 크거나 같음"을 의미 하므로, 예를 들어 "2.3과 같거나 2.3보다 크지 만 3.0보다 작음" ~> 2.3.0을 의미하지만 "2.3.0과 같거나 2.3.0보다 크지 만 작음"을 의미합니다. 2.4.0 "보다 큽니다.

"대략보다 큼"으로 발음 할 수 있습니다.

비관적 버전 제약


즉, 주 버전이 아닌 하위 버전을 가져와야합니다.

예를 들어 arel (~> 2.0.2)(사용 가능한 경우) 버전을 사용합니다.

  • 2.0.2
  • 2.0.3
  • 2.0.? (?가> = 2 인 한)

그러나 2.1을 사용하지 않습니다.?


인터넷에 따르면

RubyGem 종속성이 "~> 1.4.37"구문을 사용하는 경우 "1.4.37 이상이지만 1.5 이상이 아닌 버전"을 의미합니다. 1

즉, 위해
arel가 될 수 2.1 > version >= 2.0.2
rspec-expectation수 있습니다 2.6 > version >= 2.5.0.


이것은 버전 2.0.2 이상이지만 2.1이 아닌 gem을 기대한다는 것을 의미합니다. arel (~> 2.0.2)이것은 사람들이 사소한 개정에서 구문 변경을 해제하지 않기 때문에 수행됩니다. 따라서 arel 2.0.32.0.2 이상의 버그 / 안정성 픽스가있을 것으로 예상됩니다.

참고 URL : https://stackoverflow.com/questions/5170547/what-does-tilde-greater-than-mean-in-ruby-gem-dependencies

반응형