내 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
.
답변
물결표 ~
는 ~2.0@dev
정확히 즉각적인 버전으로 올라가는 것을 의미합니다.
예 :
우리가 가지고 있다면 ~2.0@dev
바로 다음 버전으로 이동 => ~2.x@dev