Magento 2에 타사 확장을 설치하는 모범 사례는 무엇입니까?


16

Magento 2에 대한 클라이언트 프로젝트를 진행하면서 제 3 자 확장 프로그램을로드하고 추적하는 수많은 방법을 발견했습니다.

integrator 설치 방법 (composer!)을 사용한다고 가정 할 때, 타사 확장을 관리하는 가장 좋은 방법은 무엇입니까?

지금까지 구입하거나 다운로드 한 모든 확장 프로그램에는 자체 composer.json 파일이 있으며 확장 작성자가 확장 프로그램을 설치하도록 권장하는 적어도 세 가지 다른 방법을 알고 있습니다.

  1. 이 파일들을 앱 / 코드로 복사
  2. 이 zip을 폴더에 복사하여 아티팩트 저장소로 추가 한 후 필요
  3. 이 온라인 리포지토리 (인증 포함 / 미포함)를 추가하고 필요

지금까지 나는 1과 2를 보았으며 # 3이 존재하는 것으로 의심됩니다. 그러나 # 1을 제안한 것들을 알면서 "경로"저장소를 가질 수 있다는 것을 알았습니다. 확장 프로그램을 앱 / 코드에서 동일한 아티팩트로 옮기고 이러한 아티팩트를 넣기로 결정했습니다.

이 프로세스에서 내 저장소 구성은 다음과 같습니다.

"repositories": {
    "0": {
        "type": "composer",
        "url": "https://repo.magento.com/"
    },
    "artifacts": {
        "type": "artifact",
        "url": "artifacts"
    },
    "third-party": {
        "type": "path",
        "url": "artifacts/*/*"
    },
},

그래서 당신에게 내 질문은-여기에 가장 좋은 방법은 무엇입니까? 타사 확장을 어떻게 관리합니까?

지금까지는 내가하고있는 방식이 최선의 방법이라고 생각합니다-composer.json이 읽히고 의존성 충돌 (또는 PHP 버전 제약 조건)이 명백해지기 때문에-그것이 충분히 결정적이라고 생각하지 않습니다.

답변:


8
  • 작곡가 를 통해 모듈을 설치 하는 것이 Magento 2에 가장 좋은 방법 입니다. 작곡가를 통해 모듈을 설치하면 많은 장점이 있습니다.

  • 모듈을 업그레이드하려면 composer.json파일 의 버전을 변경 composer update하고 rootMagentoento에서 명령을 실행 하면됩니다.

  • 수동 설치 중에는 먼저 모듈을 다운로드하고 이전 파일을 바꾸고 setup:upgrade명령을 실행 하여 모듈을 업그레이드해야합니다.

  • composer를 통해 설치된 모든 모듈은 공급 업체 폴더에 다운로드됩니다.

  • Magento는 Magento Marketplace에서 모듈을 구매 한 경우 기본 https://repo.magento.com/ URL을 사용 하여 모듈을 다운로드합니다.

  • 타사 웹 사이트에서 모듈을 구매 한 경우 모듈을 다운로드하고 설치하려면 composer.json에 저장소를 추가해야합니다.

예를 들어

"repositories": {
    "0": {
        "type": "composer",
        "url": "https://repo.magento.com/" //Default Magento Repositry
    },
    "thirdparty-module": {
        "type": "composer",
        "url": "https://mymodule.thirdparty.com/" //Third Party Repositary
    }
},

내 생각에 작곡가는 Magento 2에 모듈을 설치하는 가장 좋고 적절한 방법입니다.

작곡가를 통해 타사 모듈 설치 :

  1. conposer.json에 새 저장소를 추가하려면이 명령을 실행하십시오.

composer 설정 저장소 .thirdparty-module git https://thirdparty-composer-url.com

  1. 이제 composer.json에 컴포넌트와 버전의 모듈추가 하려면이 명령을 실행하십시오.

작곡가에는 [component-name] : [버전]이 필요합니다

Forex.  composer require prince/helloword:1.0.0
  1. 이제 composer update 실행 하여 저장소에서 모듈을 다운로드하십시오.

작곡가 업데이트

  1. 이제 모듈을 설치하고 등록하기 위해 실행하십시오 setup:upgrade .config.php

PHP bin / magento 설정 : 업그레이드


1

이상하게도 모든 답변은 아티팩트를 하나의 가능성으로 식별 한 요점을 놓칩니다.

https://getcomposer.org/doc/05-repositories.md#artifact

모듈 공급 업체에 사용할 수있는 저장소가 없을 수 있으므로 아티팩트가 응답합니다. 대다수 (내가 뛰어 다니는)는 파일에 대한 zip 패키지를 제공하므로 아티팩트를 통해 작곡가와 함께 사용하는 것이 가장 쉬운 방법입니다.

물론 타사 모듈 파일에 대한 자신의 저장소를 제공 할 수는 있지만 개인적으로 그에 대한 추가 단계를 진행할 필요는 없습니다.

앱 폴더에 파일을 추가하고 파일을 커밋하면 자신의 저장소를 사용하여 타사 확장 버전간에 어떤 파일이 변경되었는지 쉽게 확인할 수 있습니다.

어쨌든 나는이 기사를 arficats https://magently.com/blog/magento-2-the-right-way-to-install-external-modules/ 사용에 대해 찾았 으므로 다른 사람들도 그 흐름을 사용하고 있습니다.


-1

이를 수행하는 방법에는 두 가지가 있습니다. 아래에서이를 찾으십시오.

(1) 작곡가를 이용한 자동 설치

마켓 플레이스에서 다운로드 제품을 구매하고 다운로드 한 제품 정보에서 구성 요소 이름을 확인하고 아래 예제 코드를 사용 하여 애플리케이션 루트에서 composer.json 파일 을 업데이트 하십시오.

참고 : git commit에 composer.lock 파일을 포함시키는 것을 잊지 마십시오.

공식 참조 : http://devdocs.magento.com/guides/v2.0/cloud/howtos/install-components.html

(2) 수동 설치

다운로드에서 구성 요소 zip 파일을 다운로드하고 임시 위치에서 압축을 풀고 registration.php 파일을 확인하십시오. 여기에는 구성 요소 공급 업체 이름 및 구성 요소 이름이 표시됩니다. 비슷한 디렉토리 구조를 만듭니다.

app/code/VendorName/ComponentName

위의 디렉토리 구조에서 zip 파일을 추출하고 모듈을 활성화하기 위해 응용 프로그램 루트 디렉토리에서 아래 명령을 실행하십시오.

php bin/magento module:enable VendorName_ComponentName
php bin/magento setup:upgrade
php bin/magento setup:di:compile
php bin/magento cache:flush
php -R 777 var/

아래 명령을 사용하여 모듈을 점검하십시오. 모든 활성화 및 비활성화 된 모듈 목록이 표시됩니다.

php bin/magento module:status

도움이 되었기를 바랍니다!


아직 정답을 찾지 못했습니다. 더 혼란 스럽습니다.
Kapil Yadav

-2

앱 / 코드 아래에 확장명을 배치하여 magento2 용 확장 프로그램을 설치했으며 웹 사이트가 제대로 작동하고 있으므로 앱 / 코드 아래에 확장명을 배치하여 확장 프로그램을 설치하는 것은 확장 프로그램을 설치하는 방법 중 하나입니다!


-2

타사 확장명을 관리하는 가장 좋은 방법은 zip 파일을 다운로드하고 앱 / 코드 폴더 안에 zip을 가져 와서 압축을 푸는 것입니다.

그 후 다음 명령을 사용하십시오.

  1. PHP bin / magento 모듈 : 활성화 _
  2. PHP bin / magento 설정 : 업그레이드
  3. PHP bin / magento 설정 : di : compile

경고 :이 방법은 모범 사례가 아닙니다. 를 통해 모듈을 설치 app/code하는 것은 권장하지 않습니다 composer. composer대신 사용하십시오 .
Jisse Reitsma
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.