얼마 전, 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.json
2.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의 독특한 설정이라도 도움이되기를 바랍니다.