Magento 2:「メタパッケージ」インストールのアップグレード


11

しばらく前に、私はcomposerメタパッケージを介して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」モジュールがある場合、それは以前にベースモジュールによってインストールされたファイルを置き換えます。記事では、ローカルの変更を保存するために「use git」を推奨しています。デフォルトファイルgithub.com/magento/magento2/blob/develop/app/etc/…を細かく設定する、パッケージが「magento2-base」パッケージに入れられます。
アランケント

「NonComposerComponentRegistration.phpが更新されると思います」は否定的です-または、少なくとも、特定のインスタンスで2.0.1から2.0.3に移動すると、コンポーザのアップグレードでNonComposerComponentRegistration.phpがインストールされず、アプリが更新されませんでした/etc/di.xml。
アランストーム

メタパッケージは、システムアップグレードまたはコマンドラインから更新できます。警告現在、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か?
アランストーム

回答:


3

composer.json2.0.2ではなく(手動で)2.0.4を使用するようにファイルを調整composer updateしましたphp bin/magento setup:upgrade。その後、とを実行しました。ここで完璧に働いた。

Magento Composerインストーラーパッケージはapp/etc.フォルダー内のファイルのインストールを処理し、アップグレード時にデータを更新すると思います。しかし、私はそれをデバッグする必要がなかったので、この最後の部分は単なる仮定です。


@alanstorm、これらの回答のいずれかが役立ちますか?
スティーブジョンソン

@stefandoornファイルを開いてapp/etc/NonComposerComponentRegistration.php、著作権の年を確認してください
Kristof at Fooman

/ ** * Copyright©2016 Magento。全著作権所有。*ライセンスの詳細については、COPYING.txtを参照してください。* /
stefandoorn 2016

@KristofatFooman上記を参照してください。
stefandoorn 2016

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(テストに成功した)更新ごとにファイルをコミットすることです。ロックファイルの差分がGitHubには大きすぎることがわかると、これはすべての依存関係の更新とその理由によるものです。なぜ、magentoの更新と他の更新とを混同してはならないのですか。

ご覧のとおり、私はNonComposerComponentRegistration自分用にファイルを定義しましたが、複数のファイルを持つことができます。私のアプローチの欠点は、プロジェクトの変更がcomposer.json発生したときに、手動で適用する必要があることです。

NonComposerComponentRegistrationファイルの更新について尋ねたように、ベンダーからターゲットディレクトリにコピーされる「少数」のファイルがまだあります。そのためbuild、生成されたものとコピーされたものを混同しないように明示的に名前を付けました。

これがM2の非常にユニークなセットアップであっても、役立つことを願っています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.