작곡가를 통해 8.2에서 8.3으로 코어 업데이트


9

Drupal 코어를 8.3으로 업데이트하려고하는데 어려움이 있습니다.

페이지 맨 아래에는 내가 시작하는 composer.json 파일이 있습니다.

"drupal / core": "~ 8.2"=> "drupal / core": "~ 8.3"을 변경 한 다음 실행 composer update drupal/core --with-dependencies하면 다음과 같은 문제가 발생합니다. .json 파일 아래에 포함되어 있습니다.

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].

독창적 인 작곡가 .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"
    }
]

}


나는 지난 주에이 문제를 해결하고 그것을 고쳤지만, 내가 한 일이 올바른지 100 % 확신하지 못한다 (나는 또한 webflo / drupal-core-strict를 사용한다). 이에 대한 결정적인 답변을보고 싶습니다.
mpdonadio

답변:


3

@rreiss와 비슷하게 .lock을 삭제해야했습니다. 이것이 나를 위해 일한 것입니다.

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

1 행은 프로젝트에 고유 할 수 있습니다. composer.json에서 설치 프로그램 경로를 찾아서 확인하십시오.


1

똑같은 일이 발생했습니다. 수정하려면 / vendor 디렉토리를 백업 / 삭제하고 'composer update'를 다시 실행하여 Composer가 모든 종속성을 다시 다운로드합니다. 설치된 종속성과 필수가 동기화되지 않은 것으로 생각합니다.


2
이것이 비슷한 Composer 문제를 해결하는 방법입니다. 나는 그것이 해킹처럼 느껴지기 때문에 실망스러운 '솔루션'을 발견합니다. Composer의 목적이 의존성을 관리하는 것이라면 Composer가 이런 종류의 일을 처리 할 것으로 기대합니다. 그대로 (이 '수정'사용) Composer는 Drupal 종속성을 설치하는 도구처럼 보입니다. 다시 말하지만 이것은 '새 zip을 다운로드하고 기존 Drupal 설치를 덮어 씁니다'방법에 비해 개선 된 것으로 생각되기 때문에 오래 걸리는 해킹처럼 느껴집니다.
RominRonin

1
나는 같은 문제를 겪었고
rreiss

1

8.3.7에서 8.4.0으로 업그레이드하려고 할 때 매우 비슷한 문제가있었습니다. 범인을 찾은 것 같아

DOCROOT composer.json 파일에서 다음 줄을 볼 수 있습니다.

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

따라서 DOCROOT composer.json 파일이 파일을 참조하도록 지시하고 core/composer.json해당 종속성도 필요로합니다. 문제는 현재 설치된 Drupal 버전 의 종속성을보고있는 반면 업그레이드 된 버전에는 새로운 종속성이 있다는 것입니다. 이것은 우리가보고있는 갈등을 만듭니다.

내가 찾은 해결책은 다음과 같습니다. 파일이나 모듈을 삭제할 필요 가 없습니다 .

1) 업그레이드하려는 Drupal 버전의 tarball 에서 core/composer.json파일 사본을 다운로드하십시오 .

2) 현재 설치에서 교체core/composer.json 다운로드 한 새 버전 파일을.

3) "drupal / core : ~ 8.xx"로 업그레이드하여 DOCROOT composer.json 파일을 업데이트하십시오 (무엇을 업그레이드하든).

4) composer update --with-dependencies평소와 같이 실행하십시오 . 이번에는 업데이트가 진행됩니다. 그런 다음 데이터베이스 / 엔터티 업데이트를 적용하고 캐시를 다시 작성하는 등

저는 Windows 사용자이고 확실히 사이트 빌더에 가깝기 때문에 Linux에서 이러한 작업을 수행하기 위해 명령 줄 프롬프트를 게시하지 않습니다. 그리고 이것이 "적절한"솔루션인지 또는 위의 코드가 업그레이드를 차단하는 이유조차 확실하지 않지만 이것이 나를 위해 일한 것입니다!


0

이것은 8.2.3> 8.3.7의 핵심 업데이트에서 나에게 효과적이라고 생각했습니다. 내 Drupal 8 설치에서 이것을 사용했습니다 : https://github.com/drupal-composer/drupal-scaffold 이 디렉토리 구조를 가지고 있습니다 :

.git
.gitignore
composer.json
composer.lock
구성
스크립트
공급 업체

  • 사이트를 유지 관리 모드로 전환 : / admin / config / development / maintenance
  • 사이트의 루트에서이 명령을 실행하십시오. rm -rf vendor && rm -rf web/core && rm -f composer.lock
  • 사이트의 루트에서이 명령을 실행하십시오. composer require drupal/core:8.3.7 --update-with-dependencies
  • /update.php (또는 drush updb)로 이동 하여 업데이트를 실행하십시오. 실행할 17이 있다고 말할 것입니다. 아마도 오류를 반환 할 것입니다. 그렇다면 /update.php로 이동하여 업데이트를 다시 실행하십시오 (이번에는 실행이 적습니다). 완료되면 홈페이지로 이동하십시오.
  • 사이트를 확인하십시오.
  • 사이트를 유지 관리 모드에서 해제합니다 : / admin / config / development / maintenance
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.