Magento 2にサードパーティの拡張機能をインストールするためのベストプラクティスは何ですか?


16

Magento 2のクライアントプロジェクトの作業中に、サードパーティの拡張機能を読み込んで追跡する方法を数多く発見しました。

インテグレーターのインストール方法(作曲家!)を使用していると仮定して、これに進むと、サードパーティの拡張機能を管理するためのベストプラクティスは何ですか?

これまで、私が購入またはダウンロードしたすべての拡張機能には、独自のcomposer.jsonファイルがあり、拡張機能の作成者が拡張機能のインストールを推奨する少なくとも3つの異なる方法を知っています。

  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
  • composerを介してモジュールをインストールするのが、 Magento 2に最適な方法です。composerを介してモジュールをインストールすると、多くの利点があるためです。

  • モジュールをアップグレードする場合は、composer.jsonファイルのバージョンを変更composer updateし、rootMagentoentoでコマンドを実行するだけです。

  • 手動インストールでは、最初にモジュールをダウンロードして古いファイルを置き換え、setup:upgradeコマンドを実行してモジュールをアップグレードする必要があります。

  • composerを介してインストールされるすべてのモジュールは、ベンダーフォルダーにダウンロードされます。

  • Magento Marketplaceからモジュールを購入した場合、Magentoはデフォルトのhttps://repo.magento.com/ URLを使用してモジュールをダウンロードします。

  • サードパーティのWebサイトからモジュールを購入する場合。モジュールをダウンロードしてインストールするには、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にモジュールをインストールするための最良かつ適切な方法です。

composer経由でサードパーティモジュールをインストールします。

  1. このコマンドを実行して、conposer.jsonに新しいリポジトリを追加します

composer config repositories.thirdparty-module git https://thirdparty-composer-url.com

  1. composer.jsonでこのコマンドを実行して、コンポーネントとモジュールのバージョン追加します

作曲家には[コンポーネント名]:[バージョン]が必要です

Forex.  composer require prince/helloword:1.0.0
  1. 次に、composer update 実行して、リポジトリからモジュールをダウンロードします。

作曲家の更新

  1. ここで実行setup:upgrade して、モジュールをインストールして登録しますconfig.php

php bin / magento setup:upgrade


1

奇妙なことに、すべての回答が、アーティファクトを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

それを行うには2つの方法があります。以下を見つけてください。

(1)composerを使用した自動インストール

マーケットプレイスからダウンロードした製品を購入し、ダウンロードした製品情報からコンポーネントの名前を確認し、以下のサンプルコードを使用して、アプリケーションルートの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

お役に立てれば!


まだ正解は見つかりませんでしたが、これについてはさらに混乱しました。
カピルヤダブ

-2

拡張機能をapp / codeの下に配置してmagento2の拡張機能をインストールしましたが、Webサイトはうまく機能しているので、拡張機能をapp / codeの下に配置することで拡張機能をインストールする方法の1つです!


-2

サードパーティの拡張機能を管理するためのベストプラクティスは、zipファイルをダウンロードし、app / codeフォルダー内にzipをインポートして解凍することです。

その後、次のコマンドを使用します

  1. php bin / magento module:enable _
  2. php bin / magento setup:upgrade
  3. php bin / magento setup:di:compile

警告:これはベストプラクティスではありません。を使用したモジュールのインストールapp/codeは、の使用よりも推奨されませんcomposercomposer代わりに使用してください。
Jisse Reitsma
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.