Cập nhật Drupal lên phiên bản cụ thể

Cập nhật Drupal 8 core với Composer đã được chứng minh là một quá trình có vấn đề đối với nhiều nhà phát triển. Đối với một số người, điều này gần như gây khó chịu vì biểu tượng Composer thực sự là một nhạc trưởng và một số người đã từ bỏ hoàn toàn nền tảng này, chọn gắn bó với Drupal 7

Quá trình này không phải lúc nào cũng đơn giản như chạy composer update drupal/core và tiếp tục công việc trong ngày của bạn — bản cập nhật từ 8. 3 đến 8. 4 nổi tiếng là khó và gần đây tôi đã gặp sự cố khi cập nhật từ 8. 4. 5 đến 8. 5. 0. Trong bài viết này, tôi đã cung cấp hướng dẫn cập nhật lõi D8 với Composer, cùng với một số mẹo để xử lý các vấn đề phổ biến

Điều này hiện đặc biệt quan trọng vì chúng tôi đang chờ bản cập nhật bảo mật cực kỳ quan trọng cho tất cả các phiên bản của Drupal, sẽ được phát hành vào Thứ Tư, ngày 28 tháng 3 năm 2018. Mức cập nhật bảo mật này khá hiếm, nhưng bản cập nhật cần được triển khai trên tất cả các trang web càng sớm càng tốt sau khi phát hành

Vì PSA được liên kết với các ghi chú ở trên, Nhóm bảo mật Drupal sẽ cung cấp các bản phát hành bảo mật cho các phiên bản phụ 8 không được hỗ trợ. 3. x và 8. 4. x do các sự cố mà nhiều người gặp phải khi cập nhật từ các phiên bản này. Nếu bạn vẫn đang sử dụng một trong những phiên bản đó, thì bản cập nhật có thể đơn giản hơn nếu bạn tiếp tục phát hành phiên bản nhỏ đó

Hướng dẫn chung để cập nhật lõi

Trước tiên, chúng ta hãy thực hiện các bước cần thiết để cập nhật Drupal 8 core với Composer

  1. Để cập nhật gói lõi, hãy chạy

     composer update drupal/core --with-dependencies -v
    

    Bạn nên chạy lệnh cập nhật với cờ --with-dependencies để cập nhật bất kỳ phần phụ thuộc nào của lõi Drupal

  2. Để nắm bắt mọi cập nhật cơ sở dữ liệu đi kèm, hãy chạy drush updb -y.
  3. Để ghi lại mọi thay đổi cấu hình đi kèm, hãy chạy drush config-export -y và thực hiện các thay đổi

Tất cả ba bước này đều cần thiết bất cứ khi nào gói lõi được cập nhật

Xử lý lỗi

Phiên bản cốt lõi không cập nhật

Nếu bạn chạy lệnh composer update nhưng lõi không cập nhật, hãy chỉnh sửa tệp composer.json của bạn để bao gồm phiên bản lõi cụ thể mà bạn muốn, e. g. ^8.5. Sau đó, chạy lại lệnh composer update

Lỗi đầu ra lệnh của nhà soạn nhạc

Trình soạn thảo có thể không giải quyết được tất cả các phụ thuộc của lõi và sẽ xuất ra lỗi như thế này

Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Conclusion: don't install drupal/core 8.5.0
    - Conclusion: don't install drupal/core 8.5.0-rc1
    - Conclusion: don't install drupal/core 8.5.0-beta1
    - Conclusion: don't install drupal/core 8.5.0-alpha1
    - Conclusion: don't install drupal/core 8.6.x-dev
    - Conclusion: remove symfony/config v3.2.9
    - Installation request for drupal/core ^8.5 -> satisfiable by drupal/core[8.5.0, 8.5.0-alpha1, 8.5.0-beta1, 8.5.0-rc1, 8.5.x-dev, 8.6.x-dev].
    - Conclusion: don't install symfony/config v3.2.9
    - drupal/core 8.5.x-dev requires symfony/dependency-injection ~3.4.0 -> satisfiable by symfony/dependency-injection[3.4.x-dev, v3.4.0, v3.4.0-BETA1, v3.4.0-BETA2, v3.4.0-BETA3, v3.4.0-BETA4, v3.4.0-RC1, v3.4.0-RC2, v3.4.1, v3.4.2, v3.4.3, v3.4.4, v3.4.5, v3.4.6].
    - symfony/dependency-injection 3.4.x-dev conflicts with symfony/config[v3.2.9].
    - symfony/dependency-injection v3.4.0 conflicts with symfony/config[v3.2.9].
    - symfony/dependency-injection v3.4.0-BETA1 conflicts with symfony/config[v3.2.9].
    - symfony/dependency-injection v3.4.0-BETA2 conflicts with symfony/config[v3.2.9].
    - symfony/dependency-injection v3.4.0-BETA3 conflicts with symfony/config[v3.2.9].
    - symfony/dependency-injection v3.4.0-BETA4 conflicts with symfony/config[v3.2.9].
    - symfony/dependency-injection v3.4.0-RC1 conflicts with symfony/config[v3.2.9].
    - symfony/dependency-injection v3.4.0-RC2 conflicts with symfony/config[v3.2.9].
    - symfony/dependency-injection v3.4.1 conflicts with symfony/config[v3.2.9].
    - symfony/dependency-injection v3.4.2 conflicts with symfony/config[v3.2.9].
    - symfony/dependency-injection v3.4.3 conflicts with symfony/config[v3.2.9].
    - symfony/dependency-injection v3.4.4 conflicts with symfony/config[v3.2.9].
    - symfony/dependency-injection v3.4.5 conflicts with symfony/config[v3.2.9].
    - symfony/dependency-injection v3.4.6 conflicts with symfony/config[v3.2.9].
    - Installation request for symfony/config [locked at v3.2.9] -> satisfiable by symfony/config[v3.2.9].

Điều này xảy ra khi một trong các phần phụ thuộc của Drupal được cập nhật và phiên bản mới yêu cầu phiên bản cập nhật của gói khác. Để giải quyết vấn đề này, hãy đưa gói phụ thuộc gây ra sự cố vào lệnh composer update. Cờ --with-dependencies điều này sẽ đảm bảo rằng các phần phụ thuộc của thành phần phụ thuộc cũng được cập nhật. Để sửa lỗi trên, tôi đã chạy

composer update drupal/core symfony/config --with-dependencies -v

 

Bạn không cô đơn

Nếu bạn tiếp tục gặp sự cố, lời khuyên tốt nhất mà tôi có thể dành cho bạn là tìm kiếm bản cập nhật cụ thể mà bạn đang cố thực hiện. Mỗi khi tôi gặp sự cố, tôi có thể tìm thấy các cuộc thảo luận trực tuyến về bản cập nhật cụ thể đó và các giải pháp tiềm năng

Trên thực tế, khi tôi gặp lỗi ở trên khi cố gắng cập nhật lên 8. 5. 0, tôi đã tìm thấy bài viết hữu ích này của drupal. người dùng org eiriksm và có thể giải quyết vấn đề. Kiểm tra bài viết và nhận xét của nó để thảo luận thêm về cách xử lý các sự cố Trình soạn thảo khi cập nhật Drupal 8 core

Làm cách nào để nâng cấp Drupal 7 lên 9?

Làm cách nào để chuẩn bị cho việc nâng cấp Drupal 9? .
Đảm bảo trang web của bạn cập nhật phiên bản phụ mới nhất, tôi. e. , Drupal 8. 9. .
Nâng cấp lên các yêu cầu PHP mới nhất, tôi. e. , PHP7. 3+
Ngừng sử dụng mã trên trang web của bạn và sửa nó nếu cần với sự trợ giúp của mô-đun Trạng thái nâng cấp
Kiểm tra xem trang web của bạn dựa trên Composer hay tarballs

Làm cách nào để nâng cấp D8 lên D9?

Các bước thực hiện nâng cấp D8 lên D9 .
Đáp ứng yêu cầu hệ thống. Đảm bảo máy chủ của bạn hỗ trợ các yêu cầu hệ thống cho Drupal 9. .
Chạy trạng thái nâng cấp. .
Nhận các phiên bản mới nhất. .
Nâng cấp mã tùy chỉnh. .
Nâng cấp lõi lên Drupal 9

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

Tại sao phải nâng cấp từ Drupal 8 lên 9?

Tóm lại, việc nâng cấp trang web của bạn lên Drupal 9 sẽ giúp trang web dễ sử dụng hơn, dễ truy cập, toàn diện, linh hoạt và có thể mở rộng hơn so với Drupal 8 . Dễ dàng hơn cho các nhà tiếp thị để sử dụng. Đơn giản hơn cho các nhà phát triển để duy trì và nâng cấp. Mạnh mẽ hơn, nhờ khả năng không đầu và tách rời.

Chủ Đề