コンポーザーを使用してMagento2を更新する方法


38

composerを使用してmagento2 ceを更新できないようです。アップデートは見つかりませんでしたが、見つかったのは「fabpot」だけでした。

これが作曲家のセットアップの全体のポイントだと思ったので、ドキュメントで説明されているようにバックエンドを使用したいのはなぜですかhttp : //devdocs.magento.com/guides/v2.0/comp-mgr/upgrader/upgrade -start.html

それとも何か不足していますか?

助けてくれてありがとう。


編集:

ここで説明するように、私は、作曲経由Magento2をインストールするには、公式ドキュメントを追っ:http://devdocs.magento.com/guides/v2.0/install-gde/prereq/integrator_install.html#integrator-first-composer-ce

問題は、次のコマンドを使用してプルされるcomposer.jsonファイル composer create-project --repository-url=https://repo.magento.com/ magento/project-community-edition <installation directory name>:.jsonの必須セクションの下にmagentoを定義したことです。

"require": {
    "magento/product-community-edition": "2.0.0",
    "composer/composer": "@alpha",
    "firegento/magesetup2": "dev-develop",
    "splendid/de_de": "^0.0.1"
},

ご覧のとおり、バージョン2.0.0が指定されています。

更新を機能させるには、.jsonファイル内のその行を次のように手動で変更する必要がありました。

 "magento/product-community-edition": "2.*",

現在、実行中はcomposer updateすべてのモジュールをバージョン100.0.2から100.0.3に更新しました。

次の理由により、これでもエラー例外がスローされることに注意してください。

[ErrorException]                             
  Source /home/dev/git/mysite/vendor/magento/magento2-base/app/design/frontend/Magento does not exist

現在、bin / magentoファイルなど、かなりの数の重要な要素が欠落しているようです。

誰もがそれが正しく行われる方法を知っているので、実際に動作しますか?


packagistを使用して2.0をインストールした場合、2.0.1に問題があります。composer.jsonにrepo.magento.com、およびauth.jsonファイル内の関連する認証情報を追加してください。
マディ

composerを使用してmagento 2をアップグレードするには、コマンドラインに関する多くの技術知識が必要でした。技術に精通していない場合は、管理者、magento commerce経由でアップグレードしてください。依存関係がないために、composerメソッドが失敗することがありました。
D.ジョーズ

回答:


58

ルートフォルダーのcomposer.jsonファイルを編集し、5行目のmagentoのバージョンを変更します。

"version": "2.0.1",

「必須」の下

"require": {
"magento/product-community-edition": "2.0.1",

今実行してください:

composer update

次に実行します:

php bin/magento setup:upgrade

最後に、静的ファイルを再デプロイします。これは私にとって次のコマンドです。

php bin/magento setup:static-content:deploy de_DE en_US

それは私のために働いた。


tecjamに感謝します、これは私をたくさん助けてくれました!約1週間更新する方法を探していました。ドイツからのご挨拶!
Java_Waldi

すばらしい答え。与えられた手順は非常に簡単です。
マニプラカシュシナサミー

5
ベンダーディレクトリを空にする必要はありません。
mniess

更新コマンドを実行すると、エラー:[Symfony \ Component \ Console \ Exception \ CommandNotFoundException]コマンド「composer」が定義されていません。
美しいセティア

42

Magento 2.0.5への更新/アップグレード(経由composer

php bin/magento maintenance:enable
composer require magento/product-community-edition 2.0.5 --no-update
composer update
rm -rf var/di var/generation
php bin/magento cache:flush
php bin/magento setup:upgrade
php bin/magento setup:di:compile
php bin/magento indexer:reindex
php bin/magento maintenance:disable

アップグレード後、次のコマンドでMagentoのバージョンを確認してください。

php bin/magento --version

Magento 2.3.xへのアップグレード

上記のコマンドは、Magentoを2.2.xにアップグレードするときに正常に機能します。

Magento 2.3.xにアップグレードするには、さらにいくつかの手順を実行する必要があります。

Magentoを2.3.xにアップグレードするためのステップバイステップガイドは次のとおりです。

メンテナンスモードを有効にする

php bin/magento maintenance:enable

Magentoパッケージを指定する

composer require magento/product-community-edition=2.3.0 --no-update

追加のパッケージを指定する

composer require --dev phpunit/phpunit:~6.2.0 friendsofphp/php-cs-fixer:~2.10.1 lusitanian/oauth:~0.8.10 pdepend/pdepend:2.5.2 sebastian/phpcpd:~3.0.0 squizlabs/php_codesniffer:3.2.2 --no-update

未使用のパッケージを削除する

composer remove --dev sjparkinson/static-review fabpot/php-cs-fixer --no-update

自動ロードを更新

含めるセクションを開いcomposer.jsonて編集"autoload": "psr-4"します"Zend\\Mvc\\Controller\\": "setup/src/Zend/Mvc/Controller/"

"autoload": {
    "psr-4": {
        "Magento\\Framework\\": "lib/internal/Magento/Framework/",
        "Magento\\Setup\\": "setup/src/Magento/Setup/",
        "Magento\\": "app/code/Magento/",
        "Zend\\Mvc\\Controller\\": "setup/src/Zend/Mvc/Controller/"
    },
    ...
}

更新を適用する

composer update

Magentoキャッシュを消去する

php bin/magento cache:clean

キャッシュと生成されたコンテンツを手動でクリアする

varおよびgeneratedサブディレクトリをクリアします。

rm -rf <Magento install dir>/var/cache/*
rm -rf <Magento install dir>/var/page_cache/*
rm -rf <Magento install dir>/generated/code/*

RedisやMemcachedなど、ファイルシステム以外のキャッシュストレージを使用する場合は、キャッシュも手動でクリアする必要があります。

データベースのスキーマとデータを更新する

php bin/magento setup:upgrade

メンテナンスモードを無効にする

php bin/magento maintenance:disable

最後に、Magentoのバージョンを確認してください

php bin/magento --version

詳細:https : //devdocs.magento.com/guides/v2.3/comp-mgr/cli/cli-upgrade.html


2
これはうまく
いきました

1
する必要はありません n98-magerun2 setup:static-content:deploy en_USか?
Jeroen Vermeulen-MageHost

1
私にとって、コマンドはcomposer requireすべてを台無しにしました。magentoコマンドも欠落しbinています。
ディイン

1
あなたの手順を実行した後、言う「Magentoのは、7.0.2、7.0.4、7.0.6以降またはをサポートしています。お読みくださいdevdocs.magento.com/guides/v1.0/install-gde/...」私はPHP 7.1.11を持っています
Wasiqシャールク

3
この答えは他の答えよりも便利だと思いました。さまざまなマイナーM2バージョンを問題なくアップグレードするために、すでに4回使用していました。これに賛成票!!
カルペシュ

15

composerを介してアップグレードする場合、composerアップグレードを介してアップグレードする必要があるバージョンを選択できます。例えば:

composer require magento/product-community-edition 2.1.2 --no-update

エンタープライズを使用している場合、同じコマンドを実行できます。例えば:

composer require magento/product-enterprise-edition 2.0.6 --no-update

関連コマンドを実行した後、実行します

composer update

composerが終了したら、次のコマンドを実行してデータベースをアップグレードします。

php bin/magento setup:upgrade 

これまでどおり、データベースのバックアップを作成し、gitなどのバージョン管理ツールを使用して、計画されていないアップグレードから身を守ります。


こんにちは、コメントを参照してエラーが発生しました。以下のエラーを見ることができます。要求されたパッケージmagento / product-enterprise-edition 2.0.6はmagento / product-enterprise-edition [2.0.2]として存在しますが、これらは制約によって拒否されます。この問題の解決にご協力ください。
Kartik Asodariya

7

サンプルデータでMagento 2.0.xを更新するには、次の手順を実行しました(2.1 RCへの更新でも機能します)。

  1. このコミットを手動で適用します(2.1でリリースされたサンプルデータのバグ修正です)
  2. Magentoでサンプルデータモジュールをリセットする

    bin/magento sampledata:reset
  3. 依存関係をすぐに更新せずにcomposer.jsonを更新します(古いmagentoモジュールのバージョンはまだロックされているため、競合が発生します)。2.0.7の場合:

    composer require --no-update magento/product-community-edition ~2.0.7

    または最新の2.1リリース候補用

    composer require --no-update magento/product-community-edition 2.1.0-rc3
  4. [> = 2.1に更新する場合のみ]からサンプルデータモジュールを削除しますcomposer.json

    "magento/module-bundle-sample-data": "100.0.*",
    "magento/module-theme-sample-data": "100.0.*",
    "magento/module-widget-sample-data": "100.0.*",
    "magento/module-catalog-sample-data": "100.0.*",
    "magento/module-customer-sample-data": "100.0.*",
    "magento/module-cms-sample-data": "100.0.*",
    "magento/module-catalog-rule-sample-data": "100.0.*",
    "magento/module-sales-rule-sample-data": "100.0.*",
    "magento/module-review-sample-data": "100.0.*",
    "magento/module-tax-sample-data": "100.0.*",
    "magento/module-sales-sample-data": "100.0.*",
    "magento/module-grouped-product-sample-data": "100.0.*",
    "magento/module-downloadable-sample-data": "100.0.*",
    "magento/module-msrp-sample-data": "100.0.*",
    "magento/module-configurable-sample-data": "100.0.*",
    "magento/module-product-links-sample-data": "100.0.*",
    "magento/module-wishlist-sample-data": "100.0.*",
    "magento/module-swatches-sample-data": "100.0.*",
    "magento/sample-data-media": "100.0.*",
    "magento/module-offline-shipping-sample-data": "100.0.*",
  5. 実際の作曲家の更新を実行します。

    composer update
  6. [> = 2.1に更新する場合のみ]サンプルデータを再インストールします((2)からパッチを再度適用する必要がある場合があります)。

    bin/magento sampledata:deploy

私は、コマンドを実行したときcomposer updateにそのあなたが私を導くことができる場合は、このユーザー名とパスワードは、何であるかを、ユーザ名とパスワードを要求
amit_game

こんにちは@amit_game:何らかの理由で、repo.magento.comリポジトリは認証が必要です。あなたは上のあなたのauth-キーを作成することができますmarketplace.magento.com、次のガイドを使用して:devdocs.magento.com/guides/v2.0/install-gde/prereq/...
tecjam

0

ステップバイステップ実行コマンド

composer require magento/product-community-edition 2.1.6 --no-update
composer update
rm -rf var/di var/generation
php bin/magento cache:flush
php bin/magento setup:upgrade
php bin/magento setup:di:compile(Optional)
php bin/magento indexer:reindex
chmod -R 777 var
php bin/magento setup:static-content:deploy

アップグレード後、次のコマンドでMagentoのバージョンを確認してください。

php bin/magento --version

0

たぶん、あなたは何かを見逃しています。まず、ストアをSSHで接続します。次に、ストアのルートディレクトリに移動します。

すべてのコマンドを1つずつ実行します。

composer require magento/product-community-edition 2.1.3 --no-update

composer update

rm -rf var/di/* var/generation/* var/cache/* var/log/* var/page_cache/*

php bin/magento cache:clean

php bin/magento cache:flush

php bin/magento setup:upgrade

php bin/magento setup:di:compile

php bin/magento indexer:reindex

私はすでに自分の質問に答えました、ありがとう。ご覧のとおり、これはmagento 2.0の最初のリリースの問題でした。ドキュメントと問題はその後修正されました。
tecjam

0

2つの基本的な方法を使用してmagento 2をアップグレードできます。1つは管理パネルから、もう1つは作曲家を使用します。

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