Mô-đun cập nhật Drupal với Composer

Việc nâng cấp từ drupal 8 lên drupal 9 cần được thực hiện với nhà soạn nhạc. Hướng dẫn này screencast và bài đăng trên blog có thể hướng dẫn bạn

Ghi hình

điều kiện tiên quyết

Bước 1. xóa drupal/bảng điều khiển

Để bắt đầu, trước tiên hãy đảm bảo bạn xóa drupal/console [. ]. Điều này sẽ ngăn bạn gặp vòng lặp trong phần phụ thuộc cho gói symfony

composer remove drupal/console

Bước 2. xóa drupal/core và/hoặc drupal/core-recommended khỏi nhà soạn nhạc. json

Tìm kiếm drupal/core-recommended hoặc drupal/core trong com Composer. json và xóa [các] dòng

"drupal/core-recommended": "^8.9.0"

Sau đó chạy lại bản cập nhật của nhà soạn nhạc

composer update

Điều này sẽ loại bỏ lõi drupal khỏi cài đặt của bạn, nhưng cập nhật phần đóng góp cần thiết đang gây ra nhiều mâu thuẫn và ràng buộc gói sh*it;]

Nếu bạn có drush và devel, được sử dụng rộng rãi, hãy chỉnh sửa các phiên bản theo cách thủ công

"drupal/devel": "^4.0",
"drush/drush": "^10.0.0",

Bước 3. thêm drupal/core-recommended. 9. 0. 0

Nếu bạn không thêm dòng này và cập nhật, chúng tôi sẽ đến đó. Đầu tiên, phiên bản đầu tiên của drupal 9

"drupal/core-recommended": "9.0.0",
composer update

Điều này dẫn đến cho tôi trong những điều sau đây

Problem 1
    - drupal/core 8.0.0-beta6 requires doctrine/common dev-master#a45d110f71c323e29f41eb0696fa230e3fa1b1b5 -> found doctrine/common[2.1.3, ..., 2.13.x-dev, 3.0.0, ..., 3.2.x-dev] but it does not match the constraint.
    - drupal/swiftmailer[1.0.0-beta1, ..., 1.0.0-beta2] require drupal/core ~8.0 -> satisfiable by drupal/core[8.0.0-beta6, ..., 8.9.x-dev].
    - You can only install one version of a package, so only one of these can be installed: drupal/core[8.0.0-beta6, ..., 8.9.x-dev, 9.0.0-alpha1, 

Như nó xuất hiện, có sự không tương thích với drupal/swiftmailer.  

Bước 4. xóa các mô-đun có vấn đề khỏi nhà soạn nhạc. json

Ở trên, chúng tôi đã thấy rằng có sự cố với drupal/swiftmailer. Tôi xóa dòng này khỏi nhà soạn nhạc

"drupal/swiftmailer": "^1.0@beta",
composer update

Sau đó, tôi gặp phải vấn đề này với drupal/recaptcha. Lặp lại bước xóa các dòng này trong trình soạn thảo. json

Có drupal 9

Cuối cùng, chúng tôi thấy drupal 9 của chúng tôi đến.  

  - Updating twig/twig [v1.42.5 => v2.12.5]: Loading from cache
  - Updating symfony/yaml [v3.4.41 => v4.4.9]: Loading from cache
  - Downgrading symfony/polyfill-php80 [v1.20.0 => v1.17.0]: Loading from cache
  - Updating symfony/var-dumper [v4.4.17 => v5.1.0]: Loading from cache
  - Installing symfony/translation-contracts [v2.1.2]: Loading from cache
  - Updating symfony/validator [v3.4.41 => v4.4.9]: Loading from cache
  - Updating symfony/translation [v3.4.41 => v4.4.9]: Loading from cache
  - Installing symfony/service-contracts [v2.1.2]: Loading from cache
.........

Bước 5. yêu cầu các mô-đun có vấn đề

Ở bước 4, chúng tôi đã xóa một số mô-đun gây ra sự cố cho bản nâng cấp D9 của tôi. Bây giờ D9 cuối cùng đã ở đó, chúng tôi thêm lại chúng

"drupal/core-recommended": "^8.9.0"
0

Đối với linkit, tôi phải yêu cầu một phiên bản cụ thể để nó hoạt động

"drupal/core-recommended": "^8.9.0"
1

Bước 6. nâng cấp lên phiên bản drupal 9 mới nhất

Chúng tôi hiện đang sử dụng Drupal 9. 0. 0. Thực hiện cập nhật cơ sở dữ liệu của bạn trước

"drupal/core-recommended": "^8.9.0"
2

Sau này, thay đổi dòng drupal/core-recommended của bạn trong trình soạn thảo. json để

"drupal/core-recommended": "^8.9.0"
3

Và cập nhật lại [đừng quên thực hiện lại drush updb sau này]

composer update

[chú thích ở đây. trong sản xuất, không phải lúc nào cũng có thể nâng cấp lên 9. 0. 0 đầu tiên. Nó cũng hoạt động để đẩy trực tiếp nhà soạn nhạc drupal 9 đang hoạt động của bạn. json để sản xuất và nâng cấp từ 8. 9. x đến 9. 2 rồi chạy cập nhật cơ sở dữ liệu]

Giải quyết các vấn đề khác có thể xảy ra

lệnh tại sao

Có một lệnh 'tại sao' để biết thêm thông tin về nguồn gốc của các phụ thuộc

"drupal/core-recommended": "^8.9.0"
5


Trong trường hợp này, rõ ràng devel và drush là những thứ cần được cập nhật. Chúng tôi thêm chúng vào lệnh cập nhật của mình và chạy lại

"drupal/core-recommended": "^8.9.0"
6

nhà soạn nhạc 2

Gần đây tôi đã vấp phải vấn đề về nhà soạn nhạc 2 sau đây

"drupal/core-recommended": "^8.9.0"
7

Dung dịch. thêm phần này vào nhà soạn nhạc của bạn. json

"drupal/core-recommended": "^8.9.0"
8

và chạy

composer update

Chuyển các mô-đun tùy chỉnh của bạn

Chúng tôi đã cập nhật cài đặt của mình, nhưng điều này không có nghĩa là mã tùy chỉnh của chúng tôi tương thích. May mắn thay, có một cách đơn giản để kiểm tra. Gói kiểm tra drupal sẽ kiểm tra mã của bạn

composer update
0

Bây giờ chạy

composer update
1

Kết quả như sau

composer update
2

Bây giờ tôi cần kiểm tra các dòng của mô-đun tùy chỉnh này và sửa chúng cho Drupal 9. Làm tương tự cho chủ đề tùy chỉnh của bạn

composer update
3

Trong các mô-đun tùy chỉnh của bạn, để bắt đầu, hãy thay đổi ràng buộc phiên bản từ

composer update
4

đến

composer update
5

Phần kết luận

Nó khó hơn dự kiến ​​và bạn nên đảm bảo rằng tất cả các mô-đun tùy chỉnh và đóng góp của mình đã sẵn sàng

Khi bạn hiểu rõ hơn về nhà soạn nhạc, bạn sẽ nhận ra điều gì đang xảy ra.  

Đối với tôi, đây là một cảnh báo rằng bạn nên sử dụng các mô-đun ít đóng góp nhất có thể và bám sát vào cốt lõi

Vẫn không làm việc?

Thậm chí nhiều khả năng khắc phục sự cố hơn

Có lỗi dưới đây? . từ nhà soạn nhạc của bạn. json. Sẽ đi kèm với drupal/core-recommended [nếu cần]

composer update
6

Bật báo cáo lỗi chi tiết để gỡ lỗi màn hình trắng "lỗi không mong muốn". https. //stefvanlooveren. me/blog/how-debug-and-enable-php-error-reporting-drupal-8

Làm cách nào bạn có thể cập nhật mô-đun Drupal của mình trong một phiên bản cụ thể?

Biểu mẫu tìm kiếm .
Kiểm tra các hướng dẫn cập nhật dành riêng cho mô-đun
Sao lưu cơ sở dữ liệu và tệp của bạn
Đặt trang web của bạn vào chế độ Bảo trì
Thay thế mã mô-đun bằng phiên bản cập nhật
Cập nhật tập tin theo cách thủ công
Drush
nhà soạn nhạc
Cập nhật danh sách

Làm cách nào để cài đặt mô-đun Drupal với Composer?

Biểu mẫu tìm kiếm .
Tải xuống lõi Drupal bằng Trình soạn thảo
Tạo một dự án
Cài đặt với nhà soạn nhạc thông qua docker
Cài đặt Drupal bằng giao diện web tiêu chuẩn
Cài đặt Drupal bằng dòng lệnh
Để thực hiện cài đặt đã sửa đổi
Tải xuống các mô-đun, chủ đề đã đóng góp và phần phụ thuộc của chúng bằng Trình soạn thảo

Làm cách nào để nâng cấp Drupal 8 lên 9 bằng Composer?

Quy trình nâng cấp .
Cài đặt Trạng thái nâng cấp và đọc báo cáo. Cài đặt Trạng thái nâng cấp giống như bất kỳ mô-đun nào khác. nhà soạn nhạc yêu cầu drupal/upgrade_status drush en upgrade_status drush cr. .
Nâng cấp mô-đun/chủ đề Drupal lên 9. bản phát hành tương thích với x. .
Nâng cấp lõi Drupal lên 9. x. .
bắt đầu nâng cấp. .
Cập nhật Drupal

Chủ Đề