Besteciyle çekirdeğin 8.2'den 8.3'e güncellenmesi


9

Drupal çekirdeğini 8.3'e güncellemeye çalışıyorum ama zorluklarla karşılaşıyorum.

Sayfanın alt kısmında başladığım composer.json dosyası var.

Ben "drupal / core" değiştirirseniz: "~ 8.2" => "drupal / core": "~ 8.3" ve sonra çalıştırmak composer update drupal/core --with-dependenciesBen besteci içinde yer almadığı için bu nasıl çözmek için emin değilim aşağıdaki sorunları olsun .json dosyası aşağıda eklenmiştir.

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



   Problem 1
    - drupal/core 8.3.0 requires symfony/psr-http-message-bridge ^1.0 -> satisfiable by symfony/psr-http-message-bridge[1.0.x-dev].
    - drupal/core 8.3.x-dev requires symfony/psr-http-message-bridge ^1.0 -> satisfiable by symfony/psr-http-message-bridge[1.0.x-dev].
    - drupal/core 8.4.x-dev requires symfony/psr-http-message-bridge ^1.0 -> satisfiable by symfony/psr-http-message-bridge[1.0.x-dev].
    - Conclusion: don't install symfony/psr-http-message-bridge 1.0.x-dev
    - Conclusion: don't install drupal/core 8.3.0-rc2
    - Conclusion: don't install drupal/core 8.3.0-rc1
    - Conclusion: don't install drupal/core 8.3.0-beta1
    - Installation request for symfony/psr-http-message-bridge v0.2 -> satisfiable by symfony/psr-http-message-bridge[v0.2].
    - Conclusion: remove symfony/dom-crawler v3.2.6
    - Installation request for drupal/core ~8.3 -> satisfiable by drupal/core[8.3.0, 8.3.0-alpha1, 8.3.0-beta1, 8.3.0-rc1, 8.3.0-rc2, 8.3.x-dev, 8.4.x-dev].
    - Conclusion: don't install symfony/dom-crawler v3.2.6
    - drupal/core 8.3.0-alpha1 requires symfony/dom-crawler >=2.8.13 <3.0 -> satisfiable by symfony/dom-crawler[2.8.x-dev, v2.8.13, v2.8.14, v2.8.15, v2.8.16, v2.8.17, v2.8.18, v2.8.19].
    - Can only install one of: symfony/dom-crawler[2.8.x-dev, v3.2.6].
    - Can only install one of: symfony/dom-crawler[v2.8.13, v3.2.6].
    - Can only install one of: symfony/dom-crawler[v2.8.14, v3.2.6].
    - Can only install one of: symfony/dom-crawler[v2.8.15, v3.2.6].
    - Can only install one of: symfony/dom-crawler[v2.8.16, v3.2.6].
    - Can only install one of: symfony/dom-crawler[v2.8.17, v3.2.6].
    - Can only install one of: symfony/dom-crawler[v2.8.18, v3.2.6].
    - Can only install one of: symfony/dom-crawler[v2.8.19, v3.2.6].
    - Installation request for symfony/dom-crawler (locked at v3.2.6) -> satisfiable by symfony/dom-crawler[v3.2.6].

orijinal besteci. json

{
"name": "drupal/drupal",
"description": "Drupal is an open source content management platform powering millions of websites and applications.",
"type": "project",
"license": "GPL-2.0+",
"require": {
    "drupal/core": "~8.2",
    "drupal/backup_migrate": "4.x-dev",
    "composer/installers": "^1.0.21",
    "wikimedia/composer-merge-plugin": "~1.3",
    "drupal/console": "^1.0",
    "drupal/file_browser": "^1.0@alpha",
    "enyo/dropzone": "4.2.0",
    "desandro/masonry": "3.3.1",
    "desandro/imagesloaded": "3.1.8",
    "drupal/admin_toolbar": "^1.18",
    "drupal/ctools": "^3.0@alpha",
    "drupal/devel": "^1.0@beta",
    "drupal/migrate_tools": "^3.0",
    "drupal/migrate_plus": "^3.0",
    "drupal/media_entity": "^1.6",
    "drupal/media_entity_document": "^1.1",
    "drupal/media_entity_image": "^1.2",
    "drupal/inline_entity_form": "^1.0@beta",
    "drupal/entity_embed": "^1.0@beta",
    "drupal/entity_browser": "^1.0@beta",
    "paquettg/php-html-parser": "^1.7",
    "drupal/better_exposed_filters": "^3.0@alpha",
    "drupal/workbench_access": "^1.0@alpha",
    "drupal/webform": "^5.0@beta",
    "j7mbo/twitter-api-php": "^1.0",
    "nesbot/carbon": "^1.22",
    "Drupal/userprotect": "^1.0",
    "drupal/config_ignore": "^1.2",
    "Drupal/permissions_by_term": "^1.16",
    "Drupal/views_menu_children_filter": "^1.0@alpha",
    "drupal/sitemap": "^1.2",
    "drupal/xmlsitemap": "^1.0@alpha",
    "drupal/simple_sitemap": "^2.8",
    "drupal/redirect": "^1.0@alpha",
    "drupal/metatag": "^1.0",
    "drupal/acl": "^1.0@alpha",
    "drupal/examples": "1.x-dev",
    "drupal/honeypot": "^1.23",
    "drupal/field_collection": "^1.0@alpha",
    "drupal/dropzonejs": "^1.0@alpha",
    "drupal/embed": "^1.0@RC",
    "drupal/pathauto": "^1.0@RC",
    "drupal/rabbit_hole": "^1.0@beta",
    "drupal/entity_reference_display": "^1.0",
    "drupal/field_group": "^1.0@RC",
    "drupal/layouter": "^1.0",
    "drupal/mailsystem": "^4.1",
    "drupal/mimemail": "^1.0@alpha",
    "drupal/permissions_by_term": "^1.17",
    "drupal/content_access": "1.x-dev",
    "drupal/rules": "^3.0@alpha",
    "drupal/smart_trim": "^1.0",
    "drupal/taxonomy_menu": "^3.3",
    "drupal/token": "^1.0@RC",
    "drupal/typed_data": "^1.0@alpha",
    "drupal/video_embed_field": "^1.4",
    "drupal/views_infinite_scroll": "^1.3",
    "drupal/noreferrer": "^1.1",
    "drupal/system_status": "^2.4",
    "drupal/google_analytics": "^2.1"
},
"replace": {

},
"minimum-stability": "dev",
"prefer-stable": true,
"config": {
    "preferred-install": "dist",
    "autoloader-suffix": "Drupal8"
},
"extra": {
    "_readme": [
        "By default Drupal loads the autoloader from ./vendor/autoload.php.",
        "To change the autoloader you can edit ./autoload.php."
    ],
    "merge-plugin": {
        "include": [
            "core/composer.json"
        ],
        "recurse": false,
        "replace": false,
        "merge-extra": false
    },
    "installer-paths": {
        "modules/contrib/{$name}": [
            "type:drupal-module"
        ],
        "modules/custom/{$name}": [
            "type:drupal-custom-module"
        ],
        "libraries/{$name}": [
            "type:drupal-library"
        ],
        "profiles/contrib/{$name}": [
            "type:drupal-profile"
        ],
        "themes/contrib/{$name}": [
            "type:drupal-theme"
        ],
        "themes/custom/{$name}": [
            "type:drupal-custom-theme"
        ]
    }
},
"autoload": {
    "psr-4": {
        "Drupal\\Core\\Composer\\": "core/lib/Drupal/Core/Composer"
    }
},
"scripts": {
    "pre-autoload-dump": "Drupal\\Core\\Composer\\Composer::preAutoloadDump",
    "post-autoload-dump": "Drupal\\Core\\Composer\\Composer::ensureHtaccess",
    "post-package-install": "Drupal\\Core\\Composer\\Composer::vendorTestCodeCleanup",
    "post-package-update": "Drupal\\Core\\Composer\\Composer::vendorTestCodeCleanup"
},
"dependencies": {
    "backupmigrate/core": "dev-master",
    "psr/log": "dev-master"
},
"repositories": [
    {
        "type": "composer",
        "url":  "https://packages.drupal.org/8"
    },
    {
        "type": "package",
        "package": {
            "name": "desandro/masonry",
            "version": "3.3.1",
            "type": "drupal-library",
            "dist": {
                "url": "https://github.com/desandro/masonry/archive/v3.3.1.zip",
                "type": "zip"
            }
        }
    },
    {
        "type": "package",
        "package": {
            "name": "desandro/imagesloaded",
            "version": "3.1.8",
            "type": "drupal-library",
            "dist": {
                "url": "https://github.com/desandro/imagesloaded/archive/v3.1.8.zip",
                "type": "zip"
            }
        }
    },
    {
        "type": "package",
        "package": {
            "name": "enyo/dropzone",
            "version": "4.2.0",
            "type": "drupal-library",
            "source": {
                "url": "https://github.com/enyo/dropzone",
                "type": "git",
                "reference": "origin/master"
            }
        }
    },
    {
        "type": "vcs",
        "url": "https://github.com/backupmigrate/backup_migrate_core"
    }
]

}


Bu geçen hafta karşılaştım ve düzeltildi, ancak yaptığımın uygun olduğundan% 100 emin değilim (ayrıca webflo / drupal-core-strict kullanıyorum). Bununla ilgili kesin bir cevap görmek istiyorum.
mpdonadio

Yanıtlar:


3

@Rreiss'e benzer şekilde .lock'u silmek zorunda kaldım. Benim için işe yarayan buydu:

rm -rf vendor && rm -rf docroot/core && rm -rf docroot/modules/contrib && rm -f composer.lock

composer require drupal/core:8.3.1 --update-with-dependencies

birinci satır projenize özgü olabilir, composer.json dosyasındaki kurulum yollarına bakarak onaylayın.


1

Sadece aynı şeyle karşılaştım. Düzeltmek için / vendor dizinini yedekledim / sildim ve 'composer update' komutunu tekrar çalıştırdım, böylece Composer tüm bağımlılıkları yeniden indirsin. Yüklü bağımlılıklar vs gerekli senkronizasyon olsun düşünüyorum.


2
Benzer Composer sorunlarını bu şekilde çözüyorum. Bunu sinir bozucu bir 'çözüm' buluyorum çünkü bir hile gibi geliyor. Composer'ın amacı bağımlılıklarımı yönetmekse, Composer'in bu tür şeylerle baş etmesini beklerim. Olduğu gibi (bu 'düzeltme' ile), Composer Drupal bağımlılıklarımı KURMAK için bir araç gibi görünüyor. Yine bu, uzun soluklu bir kesmek gibi geliyor çünkü bunun 'yeni zip'i indir ve mevcut Drupal kurulumunun üzerine yaz' yönteminde bir gelişme olması gerekiyordu.
RominRonin

1
Aynı sorunu yaşadım ve composer.lock'u da silmek zorunda kaldım .. drupal.org/node/2836351#comment-12056279
rreiss

1

8.3.7'den 8.4.0'a yükseltmeye çalışırken benzer bir sorun yaşadım. Sanırım suçluyu buldum.

DOCROOT composer.json dosyasında aşağıdaki satırları görüyorum:

"merge-plugin": {
    "include": [
        "core/composer.json"
    ],
    "recurse": false,
    "replace": false,
    "merge-extra": false
},

Bu, DOCROOT composer.json dosyasını dosyaya başvurması için yönlendirir core/composer.jsonve ayrıca bu bağımlılıkları gerektirir. Sorun şu anda yüklü olan Drupal sürümünüzün bağımlılıklarına bakarken , yükseltilen sürümün yeni bağımlılıkları var. Bu gördüğümüz çatışmayı yaratır.

İşte hangisinin işe yaradığını bulduğum çözüm. O mu değil herhangi bir dosya veya modülleri silme gerektirir.

1) Yükselttiğiniz Drupal sürümünün tarball'ındancore/composer.json dosyanın bir kopyasını indirin .

2) Mevcut yüklemede, yerinecore/composer.json yalnızca karşıdan yeni sürümü ile dosya.

3) DOCROOT composer.json dosyanızı "drupal / core: ~ 8.xx" (her neye yükseltiyorsanız) ile güncelleyin.

4) composer update --with-dependenciesHer zamanki gibi çalıştırın . Bu sefer güncelleme devam etmeli. Ardından veritabanı / varlık güncellemelerini uygulayın, önbelleği yeniden oluşturun vb.

Ben bir Windows kullanıcısıyım ve kesinlikle bir site oluşturucusuyum, bu yüzden Linux'ta bu şeyleri yapmak için komut satırı istemleri göndermeye bile çalışmayacağım. Ve bu "uygun" bir çözüm olup olmadığından emin değilim, ya da neden yukarıdaki kod yükseltmeyi engelliyor, ama bu benim için çalıştı!


0

Sadece bunun 8.2.3> 8.3.7'den gelen çekirdek güncelleme için benim için işe yaradığını belirtti. Drupal 8 kurulumumun şunu kullandığını unutmayın: https://github.com/drupal-composer/drupal-scaffold bu dizin yapısına sahiptir:

.git
.gitignore
composer.json
composer.lock
yapılandırma
komut dosyaları
satıcı
web

  • Siteyi bakım moduna geçirin: / admin / config / geliştirme / bakım
  • Bu komutu sitenin kök dizininde çalıştırın: rm -rf vendor && rm -rf web/core && rm -f composer.lock
  • Bu komutu sitenin kök dizininde çalıştırın: composer require drupal/core:8.3.7 --update-with-dependencies
  • /Update.php (veya drush updb) adresine gidin ve güncellemeleri çalıştırın. Koşacak 17 tane var diyecektir. Muhtemelen hatalar döndürür, eğer öyleyse, /update.php adresine gidin ve güncellemeleri tekrar çalıştırın (bu sefer çalıştırılacak daha az şey olduğunu söyleyecektir). Tamamlandığında ana sayfaya gidin.
  • Siteyi kontrol edin.
  • Siteyi bakım modundan çıkarın: / admin / config / geliştirme / bakım
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.