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


11

얼마 전, 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 버전을 업데이트 할 수 있습니까? 아니면 이것이 메타 패키지의 의도가 아닙니까?


alankent.me/2016/03/31/… 유용한 정보가있을 수 있습니다. Composer의 magento 설치 프로그램 플러그인으로 인해 업그레이드를 수행하면 NonComposerComponentRegistration.php 업데이트 될 것이라고 생각 합니다. 새로운 'magento2-base'모듈이 있으면 기본 모듈이 이전에 설치 한 파일을 대체합니다. 기사는 로컬 변경 사항을 유지하기 위해 "git 사용"을 권장합니다. 기본 파일 인 github.com/magento/magento2/blob/develop/app/etc/… 를 수정하면 "magento2-base"패키지로 패키지를 가져옵니다.
Alan Kent

"NonComposerComponentRegistration.php가 업데이트 될 것"이라고 부정적이거나 적어도 2.0.1에서 2.0.3으로 이동하는 특정 인스턴스에서 작곡가 업그레이드가 NonComposerComponentRegistration.php를 설치하지 않았으며 앱을 업데이트하지 않았습니다. /etc/di.xml.
Alan Storm

시스템 업그레이드 또는 명령 줄에서 메타 패키지를 업데이트 할 수 있습니다. 현재주의 사항 2.0.3을 2.0.4로 바꾸고 액세스 repo.magento.com가 차단되었습니다. 발표를 기다리십시오. 1 단계, 실행 composer require <string> <version> --noupdate(구문 확인) 2 단계를 실행하십시오 composer update. 3 단계 실행bin/magento setup:upgrade
Steve Johnson

@SteveJohnson이 파일은 어떻게 외부의 파일을 업데이트 vendor합니까?
Alan Storm

답변:


3

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

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


@alanstorm,이 답변들 중 어느 것이 도움이됩니까?
Steve Johnson

@stefandoorn 파일을 열고 app/etc/NonComposerComponentRegistration.php저작권 연도를 확인할 수
있습니까

/ ** * 저작권 © 2016 Magento. 판권 소유. * 라이센스 세부 사항은 COPYING.txt를 참조하십시오. * /
stefandoorn

@KristofatFooman 위를 참조하십시오.
stefandoorn

2

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

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.