Sa, 12/31/2019 - 14:44 By Umit
drupal composer

Drupal 8.8.0 Beta Test Programı katılımcıları olarak, Drupal 8.7'deki sitelerimizden birini güncellemek için attığımız adımların belgelenmesinin faydalı olacağını düşündük. en son 8.8.0 beta.

Her site farklıdır, bu nedenle kilometreniz değişebilir, ancak size biraz zaman kazandırabilir.

Drupal 8.8, bir dizi yeni özellik eklenmiş büyük bir sürümdür ve Drupal 9.0 sürümüne giden yolu açmak için API'ler kullanımdan kaldırılmıştır. Neyse ki, yükseltme işlemi bizim durumumuzda oldukça basitti.

PathAuto'yu Yükselt
İlk adım The Path Alias ​​çekirdek alt sistemi "path_alias" modülüne taşındı Bu, bazı sınıfların farklı ad alanlarına taşındığı anlamına geliyordu. İşleri daha pürüzsüz hale getirmek için pathauto modülünün en son sürümünü yükledik ve önbellekleri temizledik.

composer require drupal/pathauto:^1.6@beta
drush cr

Core Dev Composer Paketi
Drupal çekirdeği ile test etmek için aynı geliştirici araçlarını kullanıyoruz ve yeni çekirdek besteci paketlerine geçmek istiyoruz, bu yüzden önce eskisini kaldırıyoruz.

composer remove --dev webflo/drupal-core-require-dev

Yamaları Güncelle
Bazen çekirdeği cweagans / besteci yamaları kullanarak düzeltmemiz gerekir . Bu site durumunda, ckeditor_stylesheets önbellek bozma işleminden bir yama kullanıyoruz : Drupal 8.8.x için yeniden yuvarlanması gereken system.css_js_query_string kullanın. Yamayı yeniden yuvarladık, ardından ekstra / yamalar bölümündeki bağlantıyı güncelledik .

Drupal Çekirdeğini ve Arkadaşlarını Güncelleyin
İlk denememizde, besteci bazı symfony paketleri ( symfony / finder , symfony / dosya sistemi ve symfony / debug ) ile bir sürüm çakışması nedeniyle yüklenemedi . Bunlar geçici bağımlılıklardır (açıkça belirtmiyoruz). Çözümümüz, Drupal çekirdeğinin uyumlu olduğu sürümlerle (geçici olarak) açıkça talep etmek ve daha sonra bunları kaldırmaktı.

İlk önce yeni Drupal çekirdeği ve bağımlılıkları gerekir:

composer require --update-with-dependencies \
  drupal/core:^8.8@beta \
  symfony/finder:^3.4 \
  symfony/filesystem:^3.4

İkincisi, yeni core-dev paketi ve bağımlılıkları gerektirir:

  composer require --dev --update-with-dependencies \
  drupal/core-dev:^8.8@beta \
  symfony/debug:^3.4

Son olarak, gerekli geçici bağımlılıkları kaldırın:

composer remove -n \
  symfony/finder \
  symfony/filesystem \
  symfony/debug

Veritabanını Güncelle ve Yapılandırmayı Dışa Aktar
Şimdi kodumuz güncellendi, veritabanı şemasını güncellememiz ve ardından yapılandırmamızı yeniden dışa aktarmamız gerekiyor. Biz kullanmak drush_cmi_tools sizin komutlar, örneğin sadece farklı olabilir, böylece drush yapılandırma ihracatı yerine drush cexy .

drush updb
drush cr
drush cexy

settings.php
Ayrıca, senkronizasyon dizini $ config_directories değil, $ ayarlarında tanımlandığından, settings.php dosyamızı şimdi güncellememiz gerekiyor .

Bu, aşağıdakilerden yapılan önemsiz bir değişikliktir:

$config_directories['sync'] = 'foo/bar';

için:

$settings['config_sync_directory'] = 'foo/bar';

Ayrıca geçici dosyalar dizinini config'ten ayarlara taşımalıyız.

$config['system.file']['path']['temporary'] = 'foo/bar';

için:

$settings['file_temp_path'] = 'foo/bar';

Son dokunuşlar
Emin bizim kod Drupal 9 uyumlu hale getirmek için, biz mükemmel kullanılarak API'ları kullanan herhangi bir özel kod kontrol PHPStan ve Matt Glaman' ler mglaman / phpstan drupal . (Alternatif olarak Drupal Kontrolü kullanabilirsiniz .)

"Nette / bootstrap": "> = 3" ile uyumsuz olan eski bir sürümü kullanıyorduk, bu yüzden bunu çatışma bölümünden kaldırmak ve bir kez daha kaldır / gerektirir dansı yapmak gerekiyordu.

 
 composer remove --dev \
  phpstan/phpstan-deprecation-rules \
  mglaman/phpstan-drupal

composer require --dev --update-with-dependencies \
  phpstan/phpstan-deprecation-rules:^0.11.2 \
  mglaman/phpstan-drupal:^0.11.12

Ve bu kadar! Composer bağımlılıkları çözüldükten sonra tamamen çokta zor değil. Beta'yı test ederken, bu sorunların bazıları gelecekteki betalarda ve RC'lerde ele alınabilir.

Umarım bunu faydalı bulmuşsundur! Daha iyi bir çözümünüz var mı? Bize bildirin!

Güncelleme: Ek ayar değişiklikleri eklendi.

Mutlu kodlamalar