마 젠토 2 :“Meta 패키지”설치 업그레이드 CE 2.0.1이

얼마 전, composer meta-package 를 통해 Magento 2를 설치했습니다 . 이것은 적분기 설치라고도합니다.

Magento CE 2.0.1이 설치된 것으로 보입니다. 이 버전을 최신 Magento CE 2.0.3으로 업그레이드하는 방법이 있습니까? composer.json여기서 2.0.1 이 되도록 업데이트 할 수 있음을 알고 있습니다.

"require": {
    "magento/product-community-edition": "2.0.1",

된다

"require": {
    "magento/product-community-edition": "2.0.3",

그러나 다음과 같은 파일이 누락됩니다.

app/etc/NonComposerComponentRegistration.php 

composer.json 파일 자체에 대한 모든 업데이트

메타 패키지와 함께 설치된 Magento 2 버전을 업데이트 할 수 있습니까? 아니면 이것이 메타 패키지의 의도가 아닙니까?



답변

난 그냥 내 조정 composer.json2.0.4 대신 2.0.2 (손으로)를 사용하는 파일을, 그리고 이후 실행 composer update하고 php bin/magento setup:upgrade. 여기서 완벽하게 작동했습니다.

Magento Composer 설치 프로그램 패키지는 app/etc. 폴더 의 파일 설치를 처리하고 업그레이드 할 때도 업데이트 한다고 생각합니다 . 그러나이 마지막 부분은 디버깅 할 필요가 없기 때문에 가정입니다.


답변

connect의 composer 저장소가 손상되어 현재 테스트 할 수는 없지만 여전히 유용하기를 바랍니다.

그것은 composer.json내 자신의 프로젝트 https://github.com/Cotya/DashboardProject/blob/6ce3f307c53a3fb54c94d8a7bd70b306036da928/composer.json

최근 "magento/product-community-edition": "^2.0"간단한 composer update --with-dependencies magento/product-community-edition명령 으로 업데이트 할 수 있도록 최근에 변경했습니다 . 나는 항상 명시 적으로 업데이트 할 대상의 이름을 지정하여 magento 외에 필요한 다른 패키지와 섞지 않기 때문에 --with-dependencies인수 가 필요합니다 .

이 워크 플로우의 매우 중요한 부분은 composer.lock(성공적으로 테스트 된) 각 업데이트 후에 파일 을 커밋하는 것 입니다. 잠금 파일의 diff가 GitHub에 비해 너무 크다는 것을 알 수 있습니다. 이는 모든 종속성 업데이트의 결과이며 magento 업데이트를 다른 업데이트와 혼합해서는 안되는 이유입니다.

보시다시피, 파일을 NonComposerComponentRegistration직접 정의했으며 여러 개를 가질 수 있습니다. 내 접근 방식의 단점은 프로젝트가 변경되면 composer.json수동으로 적용해야한다는 것입니다.

NonComposerComponentRegistration파일 업데이트에 대해 물었을 때 공급 업체에서 대상 디렉토리로 복사되는 “몇 가지”파일이 여전히 있습니다. 따라서 build생성 / 복사 된 항목과 자체적으로 혼합되지 않도록 명시 적으로 이름을 지정했습니다 .

이것이 M2의 독특한 설정이라도 도움이되기를 바랍니다.