Saya mencoba memperbarui inti Drupal ke 8.3 tetapi saya mengalami kesulitan.
Di bagian bawah halaman adalah file composer.json saya mulai dengan.
Jika saya mengubah "drupal / core": "~ 8.2" => "drupal / core": "~ 8.3" dan kemudian jalankan, composer update drupal/core --with-dependencies
saya mendapatkan masalah berikut ini yang saya tidak yakin bagaimana menyelesaikannya karena tidak terdapat dalam komposer File .json saya sudah sertakan di bawah ini.
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].
composer.json asli
{
"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"
}
]
}
Jawaban:
Mirip dengan @rreiss, saya harus menghapus .lock. Inilah yang bekerja untuk saya:
baris pertama bisa unik untuk proyek Anda, konfirmasikan dengan mencari jalur pemasang di composer.json Anda.
sumber
Baru saja bertemu hal yang sama. Untuk memperbaikinya saya mencadangkan / menghapus direktori / vendor dan menjalankan 'pembaruan komposer' lagi sehingga Composer akan mengunduh ulang semua dependensi. Saya pikir dependensi yang diinstal vs. yang diperlukan tidak sinkron.
sumber
Saya memiliki masalah yang sangat mirip ketika mencoba untuk meningkatkan dari 8.3.7 ke 8.4.0. Saya pikir saya menemukan pelakunya.
Dalam file DOCROOT composer.json, saya melihat baris berikut:
Jadi ini mengarahkan file DOCROOT composer.json untuk merujuk ke
core/composer.json
file dan juga memerlukan dependensi tersebut. Masalahnya adalah ia melihat dependensi dari versi Drupal yang saat ini Anda instal , sedangkan versi yang ditingkatkan memiliki dependensi baru. Ini menciptakan konflik yang kita lihat.Inilah solusi yang saya temukan yang berfungsi. Ini tidak memerlukan menghapus file atau modul.
1) Unduh salinan
core/composer.json
file dari tarball versi Drupal yang Anda tingkatkan ke .2) Dalam instalasi Anda saat ini, ganti dengan
core/composer.json
file dengan versi baru saja Anda download.3) Perbarui file DOCROOT composer.json Anda dengan "drupal / core: ~ 8.xx" (apa pun yang Anda perbarui).
4) Jalankan
composer update --with-dependencies
seperti biasa. Kali ini, pembaruan harus dilanjutkan. Kemudian menerapkan pembaruan basis data / entitas, membangun kembali cache, dll. DllSaya adalah pengguna Windows dan tentunya lebih merupakan pembangun situs, jadi saya bahkan tidak akan mencoba memposting perintah-perintah untuk melakukan hal-hal ini di Linux. Dan saya tidak yakin apakah ini solusi yang "tepat", atau bahkan mengapa kode di atas memblokir pembaruan, tetapi inilah yang berhasil bagi saya!
sumber
Hanya mencatat bahwa ini sepertinya bekerja untuk saya untuk pembaruan inti dari 8.2.3> 8.3.7. Perhatikan pemasangan Drupal 8 saya menggunakan ini: https://github.com/drupal-composer/drupal-scaffold yang memiliki struktur direktori ini:
.git
.gitignore
composer.json
composer.lock web
konfigurasi
skrip
vendor
rm -rf vendor && rm -rf web/core && rm -f composer.lock
composer require drupal/core:8.3.7 --update-with-dependencies
drush updb
) dan jalankan pembaruan. Itu akan mengatakan ada 17 untuk dijalankan. Mungkin akan mengembalikan kesalahan, jika demikian, buka /update.php dan jalankan pembaruan lagi (kali ini akan mengatakan ada lebih sedikit untuk dijalankan). Buka beranda saat selesai.sumber