วิธีอัปเดต Magento2 โดยใช้ผู้แต่ง


38

ฉันดูเหมือนจะไม่สามารถอัปเดต magento2 ของฉันโดยใช้นักแต่งเพลง ฉันไม่พบการอัปเดตใด ๆ สิ่งเดียวที่พบก็คือ '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>กำหนด magento ภายใต้ส่วนที่ต้องการของ. json:

"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

ทุกคนมีความคิดใด ๆ ว่ามันถูกต้องอย่างไรเพื่อให้ใช้งานได้จริง


หากคุณติดตั้ง 2.0 ผ่านผู้ทำการบรรจุมีปัญหากับ 2.0.1 โปรดเพิ่ม repo.magento.com ลงใน composer.json ของคุณและข้อมูลการรับรองความถูกต้องที่เกี่ยวข้องในไฟล์ auth.json
Maddy

อัปเกรดวีโอไอพี 2 โดยใช้ผู้แต่งต้องการความรู้ด้านเทคนิคมากมายเกี่ยวกับบรรทัดคำสั่ง หากคุณไม่เข้าใจเทคโนโลยีอาจอัพเกรดผ่านผู้ดูแลระบบการค้าระดับสูง บางครั้งวิธีการแต่งเพลงล้มเหลวเนื่องจากขาดการพึ่งพา
D. Joes

คำตอบ:


58

แก้ไขไฟล์ composer.json ในรูทโฟลเดอร์และเปลี่ยนเวอร์ชั่นของ magento ในบรรทัดที่ 5:

"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 สิ่งนี้ช่วยฉันได้มาก! ฉันกำลังมองหาวิธีการอัปเดตประมาณหนึ่งสัปดาห์ สวัสดีจากเยอรมัน!
Java_Waldi

คำตอบที่ดี ทำตามขั้นตอนง่ายมากที่จะทำตาม
Maniprakash Chinnasamy

5
ไม่จำเป็นต้องล้างข้อมูลผู้ขาย
mniess

เมื่อรันคำสั่ง update จะแสดงข้อผิดพลาด: [Symfony \ Component \ Console \ Exception \ CommandNotFoundException] คำสั่ง "ผู้แต่ง" ไม่ได้ถูกกำหนดไว้
Setia น่ารัก

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

ระบุแพ็คเกจวีโอไอพี

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

อัปเดต autoload

เปิด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

ตรวจสอบเวอร์ชั่นของวีโอไอพีของคุณ

php bin/magento --version

อ่านเพิ่มเติม: https://devdocs.magento.com/guides/v2.3/comp-mgr/cli/cli-upgrade.html


2
มันใช้งานได้ดี :)
Arvind07

1
คุณไม่จำเป็นต้องทำ n98-magerun2 setup:static-content:deploy en_US?
Jeroen Vermeulen - MageHost

1
สำหรับฉันคำสั่งcomposer requireทำให้ทุกอย่างยุ่งเหยิง magentoคำสั่งจะหายไปจากbinเช่นกัน
Dyin

1
หลังจากทำตามขั้นตอนของคุณแล้วจะมีข้อความว่า "Magento รองรับ 7.0.2, 7.0.4 และ 7.0.6 หรือใหม่กว่าโปรดอ่านdevdocs.magento.com/guides/v1.0/install-gde/ ......ฉันมี PHP 7.1.11
Wasiq Shahrukh

3
ฉันพบว่าคำตอบนี้มีประโยชน์มากกว่าคำอื่น ๆ ใช้ไปแล้ว 4 ครั้งในการอัพเกรดรุ่น M2 รุ่นรองต่าง ๆ โดยไม่มีปัญหาใด ๆ โหวตสิ่งนี้ !!
Kalpesh

15

เมื่ออัปเกรดผ่านผู้แต่งคุณสามารถเลือกรุ่นที่คุณต้องการอัปเกรดผ่านการอัปเกรดนักแต่งเพลง ตัวอย่างเช่น:

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

สามารถรันคำสั่งเดียวกันนี้ได้หากใช้ Enterprise ตัวอย่างเช่น:

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

หลังจากรันคำสั่งที่เกี่ยวข้องแล้วให้รัน

composer update

เมื่อผู้แต่งเสร็จแล้วให้อัพเกรดฐานข้อมูลของคุณโดยใช้คำสั่ง:

php bin/magento setup:upgrade 

เช่นเคยทำการสำรองฐานข้อมูลของคุณและใช้เครื่องมือการกำหนดเวอร์ชันเช่น git เพื่อป้องกันตัวคุณเองจากการอัพเกรดที่ไม่ได้วางแผนไว้


สวัสดีฉันแนะนำความคิดเห็นของคุณและรับข้อผิดพลาด คุณสามารถดูข้อผิดพลาดด้านล่าง แพ็คเกจวีโอไอพีที่ร้องขอ / product-enterprise-edition 2.0.6 มีอยู่ในรูปแบบวีโอไอพี / 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. อัปเดตผู้แต่งโดยไม่ต้องอัปเดตการอ้างอิงทันที (ซึ่งอาจส่งผลให้เกิดข้อขัดแย้งเนื่องจากเวอร์ชั่นโมดูลวีโอไอพีรุ่นเก่ายังคงล็อคอยู่) สำหรับ 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 ต้องมีการตรวจสอบสิทธิ์ คุณสามารถสร้างการตรวจสอบสิทธิ์คีย์ของคุณบน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 ตอนนี้ไปที่ไดเรกทอรีรากของร้านค้าของคุณ

รันคำสั่งทั้งหมดทีละตัว:

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 โดยใช้วิธีการพื้นฐานสองวิธีอันหนึ่งคือจากแผงการดูแลระบบและอีกวิธีหนึ่งคือการใช้นักแต่งเพลง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.