Magento 2: Nâng cấp cài đặt gói Meta Meta


11

Một lúc trước, tôi đã cài đặt Magento 2 thông qua gói meta của nhà soạn nhạc . Điều này còn được gọi là cài đặt tích hợp.

Điều này dường như đã cài đặt Magento CE 2.0.1. Có cách nào để nâng cấp phiên bản này lên Magento CE 2.0.3 mới nhất không? Tôi nhận ra rằng tôi có thể cập nhật phiên composer.jsonbản 2.0.1 tại đây

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

trở thành

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

Tuy nhiên, điều đó sẽ bỏ lỡ các tập tin như

app/etc/NonComposerComponentRegistration.php 

Cũng như bất kỳ bản cập nhật nào cho chính tệp composer.json.

Có thể cập nhật phiên bản Magento 2 được cài đặt với gói meta không? Hay đây không phải là mục đích của các gói meta?


alankent.me/2016/03/31/ Có thể có một số thông tin hữu ích. Tôi tin rằng NonComposerComponentRegistration.php sẽ được cập nhật khi bạn thực hiện nâng cấp do plugin trình cài đặt magento cho Trình soạn thảo. Nếu có mô-đun 'magento2-base' mới, nó sẽ thay thế các tệp được cài đặt trước đó bởi mô-đun cơ sở. Bài viết khuyến nghị "sử dụng git" để bảo tồn các thay đổi cục bộ. Bạn có thể phạt tập tin mặc định github.com/magento/magento2/blob/develop/app/etc/ mẹo , gói này được gói vào gói "magento2-base".
Alan Kent

"Tôi tin rằng NonComposerComponentRegistration.php sẽ được cập nhật" đó là một tiêu cực - hoặc, ít nhất, trong trường hợp cụ thể của tôi chuyển từ 2.0.1 sang 2.0.3, bản nâng cấp nhà soạn nhạc đã không cài đặt NonComposerComponentRegistration.php và không cập nhật ứng dụng /etc/di.xml.
Alan Storm

Bạn có thể cập nhật siêu dữ liệu với Nâng cấp hệ thống hoặc từ dòng lệnh. Hãy cẩn thận tại thời điểm này, chúng tôi thay thế 2.0.3 bằng 2.0.4 và quyền truy cập repo.magento.combị chặn. Chờ một thông báo. Bước 1, chạy composer require <string> <version> --noupdate(kiểm tra cú pháp). Bước 2, chạy composer update. Bước 3, chạybin/magento setup:upgrade
Steve Johnson

@SteveJohnson Làm thế nào điều này sẽ cập nhật các tập tin bên ngoài vendor?
Alan Storm

Câu trả lời:


3

Tôi chỉ điều chỉnh composer.jsontệp của mình để sử dụng 2.0.4 thay vì 2.0.2 (bằng tay) và sau đó chạy composer updatephp bin/magento setup:upgrade. Làm việc hoàn hảo ở đây.

Tôi tin rằng gói trình cài đặt Magento Composer xử lý việc cài đặt các tệp trong các app/thư mục vv, cũng cập nhật nội dung nâng cấp. Nhưng, phần cuối cùng này chỉ là giả định vì tôi chưa phải gỡ lỗi.


@alanstorm, một trong những câu trả lời này có giúp được không?
Steve Johnson

@stefandoorn bạn có thể vui lòng mở tệp app/etc/NonComposerComponentRegistration.phpvà xác nhận năm bản quyền
Kristof tại Fooman

/ ** * Bản quyền © 2016 Magento. Đã đăng ký Bản quyền. * Xem COPYING.txt để biết chi tiết giấy phép. * /
stefandoorn

@KristofatFooman Xem ở trên.
stefandoorn

2

Hiện tại tôi không thể kiểm tra nó, vì kho kết nối của nhà soạn nhạc bị hỏng, nhưng tôi hy vọng nó vẫn hữu ích.

Đó là composer.jsondự án của riêng tôi https://github.com/Cotya/DashboardProject/blob/6ce3f307c53a3fb54c94d8a7bd70b306036da928/composer.json

Tôi đã thay đổi gần đây để "magento/product-community-edition": "^2.0"thực sự có thể cập nhật với một composer update --with-dependencies magento/product-community-editionlệnh đơn giản . Tôi luôn đặt tên rõ ràng những gì cần được cập nhật, để không trộn lẫn với các gói khác mà tôi yêu cầu ngoài magento, nhưng do đó tôi cần --with-dependenciesđối số.

Một phần rất quan trọng của quy trình công việc này là cam kết composer.locktệp sau mỗi lần cập nhật (được kiểm tra thành công). Như bạn thấy độ lệch của tệp khóa quá lớn đối với GitHub, đó là kết quả của tất cả các cập nhật phụ thuộc và lý do, tại sao bạn không nên trộn lẫn một bản cập nhật magento với bản cập nhật của thứ khác.

Như bạn thấy, tôi đã tự xác định các tệp NonComposerComponentRegistration, bạn có thể có nhiều tệp. Mặt trái của phương pháp của tôi là, khi những thay đổi trong dự án composer.jsonxảy ra, bạn cần áp dụng chúng theo cách thủ công.

Như bạn đã hỏi về việc cập nhật NonComposerComponentRegistrationtệp, vẫn còn một số tệp "vài" được sao chép từ nhà cung cấp vào thư mục đích, đó là lý do tại sao tôi đặt tên rõ ràng buildđể không trộn lẫn với các nội dung được tạo / sao chép.

Hy vọng rằng sẽ giúp, ngay cả khi đây là một thiết lập khá độc đáo của M2.

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.