[symfony] 내 composer.json 파일에서 물결표 (~)는 무엇을 의미합니까?

내 composer.json 파일에 다음 줄이 있습니다.

"require": {
    ...
    "friendsofsymfony/user-bundle": "~2.0@dev",
    ...
},

물결표 ~~2.0@dev정확히 무엇을 의미합니까? 것을이 자리가 항상 같은 전복 가져올 것이다 1.2.0, 2.2.0, 3.2.0등을? 의미가 없습니다 ( *와일드 카드에 의해 수행됨 ).

composer.json 문서는 물결표에 대해 아무것도 말해주지 않습니다.

Symfony 블로그에서 보안 문제에 대해 방금 읽었으며 버전 1.3.3으로 업그레이드 할 것을 권장 했기 때문에 묻습니다 . 그러나 FOSUserBundle의 버전을 알아내는 것은 쉽지 않습니다 (버전이 포함 된 파일을 찾을 수 없습니다).



답변

물결표는 다음 중요한 릴리스를 의미 합니다. 귀하의 경우에는 >= 2.0, < 3.0.

전체 설명은 Tilde 버전 범위 문서 페이지에 있습니다 .

~가장 예에 의해 설명한다 연산자 : ~1.2동등 >=1.2 <2.0.0하면서 ~1.2.3동일하다 >=1.2.3 <1.3.0.

그것을 보는 또 다른 방법은 using ~이 최소 버전 을 지정하지만 지정된 마지막 숫자가 올라갈 수 있도록 허용한다는 것입니다.

Seldeak의 아래 주석은 Composer 문서에 대한 간단한 요약 설명입니다.


답변

Tilde연산자는 semantic versioning스키마를 사용하여 라이브러리를 버전 화하는 프로젝트에 유용합니다 .

Semantic versioning을 평가하는 지침에 가깝습니다 next significant release.

Composer의 경우이 연산자는 설치업데이트하는 동안 주 버전 (역 호환되지 않을 수 있음)을 허용하지 않고 부 릴리스 (패치 포함 가능)를 허용 함을 의미합니다. .

예 : ~4.1프로젝트 버전을 허용 >=4.1하지만<5.0 .

크레딧 : http://dwellupper.io/post/37/using-tilde-range-operator-to-resolve-dependency-version-in-composer-php


답변

물결표 ~~2.0@dev 정확히 즉각적인 버전으로 올라가는 것을 의미합니다.

예 :

우리가 가지고 있다면 ~2.0@dev바로 다음 버전으로 이동 => ~2.x@dev


답변