Cách cập nhật Magento2 bằng trình soạn nhạc


38

Tôi dường như không thể cập nhật ce magento2 của mình bằng trình soạn nhạc. Tôi không tìm thấy bất kỳ cập nhật nào, cái duy nhất nó tìm thấy là 'fabpot'.

Tôi nghĩ rằng đây là toàn bộ quan điểm của một thiết lập nhà soạn nhạc, vậy tại sao tôi muốn sử dụng phụ trợ như được giải thích trong tài liệu: http://devdocs.magento.com/guides/v2.0/comp-mgr/upgrader/upTHER -start.html

Hay tôi đang thiếu một cái gì đó?

Cảm ơn trước sự giúp đỡ nào.


CHỈNH SỬA:

Tôi đã làm theo tài liệu chính thức để cài đặt Magento2 qua trình soạn thảo, như được mô tả ở đây: http://devdocs.magento.com/guides/v2.0/install-gde/prereq/integrator_install.html#integrator-first-composer-ce

Vấn đề là tệp composer.json được kéo bằng lệnh: composer create-project --repository-url=https://repo.magento.com/ magento/project-community-edition <installation directory name>magento được xác định trong phần bắt buộc của .json:

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

Như bạn có thể thấy, phiên bản 2.0.0 được chỉ định.

Để cập nhật hoạt động, tôi phải thay đổi thủ công dòng đó trong tệp .json như sau:

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

Hiện đang chạy composer updatecập nhật tất cả các mô-đun từ phiên bản 100.0.2 đến 100.0.3.

Xin lưu ý rằng điều này vẫn ném một ngoại lệ lỗi vì những điều sau đây:

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

Bây giờ có vẻ như một vài thứ thiết yếu bị thiếu, ví dụ như tệp bin / magento.

Bất cứ ai cũng có bất kỳ ý tưởng làm thế nào nó được thực hiện chính xác để nó thực sự hoạt động?


Nếu bạn đã cài đặt 2.0 qua packagist, có vấn đề với 2.0.1. Vui lòng thêm repo.magento.com vào composer.json của bạn và thông tin xác thực liên quan trong tệp auth.json.
Maddy

Nâng cấp magento 2 bằng trình soạn nhạc đòi hỏi nhiều kiến ​​thức kỹ thuật về dòng lệnh. Nếu bạn không rành về công nghệ, có thể nâng cấp thông qua quản trị viên, thương mại magento. Đôi khi phương pháp soạn nhạc thất bại vì thiếu phụ thuộc.
D. Nhảy vào

Câu trả lời:


58

Chỉnh sửa tệp composer.json trên thư mục gốc và thay đổi phiên bản magento trong dòng 5:

"version": "2.0.1",

và theo "yêu cầu"

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

Bây giờ chạy:

composer update

Sau đó chạy:

php bin/magento setup:upgrade

Và cuối cùng triển khai lại các tệp tĩnh, mà đối với tôi là lệnh này:

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

Điều đó làm việc cho tôi.


Cảm ơn bạn rất nhiều tecjam, điều này đã giúp tôi rất nhiều! Tôi đang tìm cách cập nhật trong khoảng một tuần. Lời chào từ nước Đức!
Java_Waldi

Câu trả lời chính xác. Các bước được đưa ra là rất đơn giản để làm theo.
Maniprakash Chinnasamy 17/03/2017

5
Không cần phải làm trống thư mục nhà cung cấp.
mniess

Khi lệnh cập nhật được chạy, nó sẽ hiển thị lỗi: [Symfony \ Element \ Console \ Exception \ CommandNotFoundException] Lệnh "trình soạn thảo" không được xác định.
Setia đáng yêu

42

Cập nhật / Nâng cấp lên Magento 2.0.5 (thông qua 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

Sau khi nâng cấp, hãy kiểm tra phiên bản Magento của bạn bằng lệnh sau:

php bin/magento --version

Nâng cấp lên Magento 2.3.x

Các lệnh trên hoạt động tốt trong khi nâng cấp Magento lên 2.2.x.

Để nâng cấp lên Magento 2.3.x, bạn cần làm theo một số bước nữa.

Dưới đây là hướng dẫn từng bước để nâng cấp Magento lên 2.3.x:

Bật chế độ bảo trì

php bin/magento maintenance:enable

Chỉ định gói Magento

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

Chỉ định các gói bổ sung

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

Loại bỏ các gói không sử dụng

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

Cập nhật tự động tải

Mở composer.jsonvà chỉnh sửa "autoload": "psr-4"phần để bao gồm "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/"
    },
    ...
}

Áp dụng cập nhật

composer update

Làm sạch bộ đệm Magento

php bin/magento cache:clean

Xóa bộ nhớ cache thủ công và nội dung được tạo

Xóa vargeneratedthư mục con:

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

Nếu bạn sử dụng bộ lưu trữ bộ đệm khác với hệ thống tệp, chẳng hạn như Redis hoặc Memcached, bạn cũng phải xóa bộ nhớ cache theo cách thủ công.

Cập nhật sơ đồ và dữ liệu cơ sở dữ liệu

php bin/magento setup:upgrade

Tắt chế độ bảo trì

php bin/magento maintenance:disable

Cuối cùng, hãy kiểm tra phiên bản Magento của bạn

php bin/magento --version

Đọc thêm: https://devdocs.magento.com/guides/v2.3/comp-mgr/cli/cli-upTHER.html


2
Điều này hoạt động tốt :)
Arvind07

1
Bạn không cần phải làm gì n98-magerun2 setup:static-content:deploy en_US?
Jeroen Vermeulen - Magehost

1
Đối với tôi, lệnh đã composer requirelàm rối tung mọi thứ. magentolệnh bị thiếu binlà tốt.
Dyin

1
Sau khi làm theo các bước của bạn, nó báo "Magento hỗ trợ 7.0.2, 7.0.4 và 7.0.6 trở lên. Vui lòng đọc devdocs.magento.com/guides/v1.0/install-gde/ ." Tôi có PHP 7.1.11
Wasiq Shahrukh

3
Tôi thấy câu trả lời này hữu ích hơn những người khác. Đã sử dụng 4 lần nâng cấp các phiên bản M2 nhỏ khác nhau mà không gặp vấn đề gì. Upvote này !!
Kalpesh

15

Khi nâng cấp thông qua trình soạn thảo, bạn có thể chọn phiên bản bạn cần nâng cấp thông qua nâng cấp trình soạn thảo. Ví dụ:

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

Lệnh tương tự có thể được chạy nếu sử dụng Enterprise. Ví dụ:

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

Sau khi chạy lệnh có liên quan, chạy

composer update

Khi trình soạn thảo kết thúc, hãy nâng cấp cơ sở dữ liệu của bạn bằng cách chạy lệnh:

php bin/magento setup:upgrade 

Đã bao giờ, tạo một bản sao lưu cơ sở dữ liệu của bạn và sử dụng một công cụ tạo phiên bản như git để bảo vệ bạn khỏi việc nâng cấp sẽ không được lên kế hoạch.


Xin chào, tôi giới thiệu bình luận của bạn và nhận được lỗi. bạn có thể thấy lỗi dưới đây. Gói magento / sản phẩm-doanh nghiệp phiên bản 2.0.6 được yêu cầu tồn tại dưới dạng magento / sản phẩm-phiên bản doanh nghiệp [2.0.2] nhưng chúng bị từ chối bởi ràng buộc của bạn. bạn có thể vui lòng giúp giải quyết vấn đề này
Kartik Asodariya

7

Để cập nhật Magento 2.0.x với dữ liệu mẫu , tôi đã làm theo các bước sau (cũng hoạt động để cập nhật lên 2.1 RC):

  1. Áp dụng cam kết này theo cách thủ công (đó là một lỗi cho dữ liệu mẫu được phát hành với 2.1)
  2. Đặt lại các mô-đun dữ liệu mẫu trong Magento

    bin/magento sampledata:reset
  3. Cập nhật composer.json mà không cập nhật phụ thuộc ngay lập tức (điều này sẽ dẫn đến xung đột vì các phiên bản mô-đun magento cũ vẫn bị khóa). Đối với 2.0.7:

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

    hoặc cho ứng cử viên phát hành 2.1 mới nhất

    composer require --no-update magento/product-community-edition 2.1.0-rc3
  4. [chỉ khi bạn cập nhật lên> = 2.1] Xóa các mô-đun dữ liệu mẫu khỏi 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. Chạy bản cập nhật nhà soạn nhạc thực tế:

    composer update
  6. [chỉ khi bạn cập nhật lên> = 2.1] Cài đặt lại dữ liệu mẫu (bạn có thể cần phải áp dụng bản vá từ (2) lần nữa):

    bin/magento sampledata:deploy

Khi tôi chạy lệnh, composer updatenó yêu cầu tên người dùng và mật khẩu, tên người dùng và mật khẩu này là gì, nếu bạn có thể hướng dẫn cho tôi
amit_game

Xin chào @amit_game: Vì một số lý do, kho lưu trữ repo.magento.com yêu cầu xác thực. Bạn có thể tạo các khóa xác thực của mình trên marketplace.magento.com bằng cách sử dụng hướng dẫn sau: devdocs.magento.com/guides/v2.0/install-gde/prereq/ Lỗi
tecjam

0

Từng bước chạy lệnh sau

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

Sau khi nâng cấp, hãy kiểm tra phiên bản Magento của bạn bằng lệnh sau:

php bin/magento --version

0

Có lẽ bạn đang thiếu một cái gì đó. Đầu tiên, kết nối cửa hàng của bạn với SSH. Bây giờ đi đến thư mục gốc của cửa hàng của bạn.

Chạy tất cả các lệnh từng cái một:

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

Tôi đã trả lời câu hỏi của riêng tôi, cảm ơn. Như bạn có thể thấy đó là một vấn đề với bản phát hành đầu tiên của magento 2.0 - tài liệu và các vấn đề đã được sửa chữa. Một điều tuyệt vời nhất là tôi sẽ không bao giờ cập nhật trực tiếp cho nhà soạn nhạc trên máy chủ, đừng bận tâm đến cửa hàng trực tiếp.
tecjam

0

Người ta có thể nâng cấp magento 2 bằng hai phương pháp cơ bản, một là từ bảng quản trị và một là sử dụng trình soạn thảo.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.