Điểm:2

Tại sao tôi không thể nâng cấp từ 9.2.3 lên 9.2.4 bằng Composer?

lá cờ br

Nếu tôi kiểm tra các tạo tác đã lỗi thời bằng cách sử dụng:

nhà soạn nhạc đã lỗi thời "drupal/*"

Tôi có thể thấy Core cần cập nhật:

drupal/lõi 9.2.3 9.2.4
drupal/core-composer-scaffold 9.2.3 9.2.4
drupal/core-dev 9.1.5 9.2.4
drupal/core-recommended 9.2.3 9.2.4

...

Tuy nhiên, khi tôi cố gắng cập nhật:

bản cập nhật của nhà soạn nhạc drupal/core-recommended --with-dependencies

Tôi nhận được các tin nhắn sau:

Phụ thuộc "drupal/core" cũng là một yêu cầu gốc, nhưng không được phép rõ ràng. phớt lờ.
Đang tải kho lưu trữ của nhà soạn nhạc với thông tin gói
Cập nhật các phụ thuộc (bao gồm cả yêu cầu-dev)
Không có gì để cài đặt hoặc cập nhật
Gói container-interop/container-interop bị bỏ, bạn nên tránh sử dụng nó. Thay vào đó, hãy sử dụng psr/thùng chứa.
Gói học thuyết/phản ánh bị bỏ rơi, bạn nên tránh sử dụng nó. Thay vào đó, hãy sử dụng roave/better-reflection.
Gói phpunit/php-token-stream đã bị bỏ, bạn nên tránh sử dụng nó. Không có sự thay thế nào được đề xuất.
Gói recor/rector-prefix bị bỏ, bạn nên tránh sử dụng nó. Thay vào đó, hãy sử dụng hiệu trưởng/hiệu trưởng.
Viết tập tin khóa
Tạo tập tin tự động tải
nhà soạn nhạc/gói-phiên bản không dùng nữa: Đang tạo lớp phiên bản...
nhà soạn nhạc/gói-phiên bản không dùng nữa: ... đã tạo xong lớp phiên bản

Trang web này ban đầu được xây dựng trong Drupal 8, nhưng đã được nâng cấp lên Drupal 9.

Bất kỳ đề xuất về cách tôi có thể khắc phục vấn đề này?

Tệp composer.json của tôi như sau:

{
    "name": "drupal/dự án được đề xuất",
    "description": "Mẫu dự án cho các dự án Drupal 8 với gốc tài liệu được di chuyển",
    "loại": "dự án",
    "giấy phép": "GPL-2.0 trở lên",
    "trang chủ": "https://www.drupal.org/project/drupal",
    "hỗ trợ": {
        "tài liệu": "https://www.drupal.org/docs/user_guide/en/index.html",
        "trò chuyện": "https://www.drupal.org/node/314178"
    },
    "kho": [
        {
            "loại": "nhà soạn nhạc",
            "url": "https://packages.drupal.org/8"
        }
    ],
    "yêu cầu": {
        "nhà soạn nhạc/trình cài đặt": "^1.2",
        "drupal/địa chỉ": "^1.9",
        "drupal/advagg": "4.x-dev@dev",
        "drupal/asset_injector": "2.x-dev",
        "drupal/biểu đồ": "^5.0@alpha",
        "drupal/cà phê": "1.x-dev",
        "drupal/composer_deploy": "^1.6",
        "drupal/config_views": "^2.0",
        "drupal/lõi": "9.2.3 thành 8.9.0",
        "drupal/core-composer-scaffold": "^9.1.5",
        "drupal/core-project-message": "^9.1.5",
        "drupal/core-recommended": "^9.1.5",
        "drupal/devel_entity_updates": "^3.0",
        "drupal/miền": "1.x-dev",
        "drupal/domain_site_settings": "1.x-dev",
        "drupal/dropzonejs": "^2.5",
        "drupal/drupalmoduleupgrader": "^1.7",
        "drupal/dynamic_asset": "1.x-dev",
        "drupal/email_registration": "^1.1",
        "drupal/exclude_node_title": "1.x-dev@dev",
        "drupal/nguồn cấp dữ liệu": "3.x-dev",
        "drupal/feeds_tamper": "^2.0",
        "drupal/field_css": "^2.0@RC",
        "drupal/field_formatter_class": "^1.5",
        "drupal/filefield_paths": "1.x-dev",
        "drupal/formblock": "^2.0@beta",
        "drupal/bộ mã hóa địa lý": "^3.17",
        "drupal/geophp": "^1.0",
        "drupal/nhóm": "1.x-dev@dev",
        "drupal/gtranslate": "^1.13",
        "drupal/image_effects": "^3.1",
        "drupal/jquery_ui": "1.x-dev",
        "drupal/jquery_ui_sortable": "1.x-dev",
        "drupal/tờ rơi": "^2.1",
        "drupal/thư viện": "^3.0@beta",
        "drupal/giả trang": "2.x-dev@dev",
        "drupal/media_directories": "^2.0",
        "drupal/media_library_form_element": "1.x-dev",
        "drupal/media_migration": "1.x-dev@dev",
        "drupal/menu_twig": "^1.4",
        "drupal/migrate_plus": "^5.1",
        "drupal/migrate_ process_inline_images": "^1.0",
        "drupal/migrate_source_csv": "3.x-dev@dev",
        "drupal/migrate_tools": "5.x-dev@dev",
        "drupal/ng_lightbox": "^1.0@beta",
        "drupal/office_hours": "^1.3",
        "drupal/optimizedb": "1.x-dev@dev",
        "drupal/đoạn": "^1.12",
        "drupal/pathauto": "^1.8",
        "drupal/php": "^1.1",
        "drupal/prepopulate": "^2.3",
        "drupal/bài kiểm tra": "6.x-dev@dev",
        "drupal/recaptcha": "^3.0",
        "drupal/chuyển hướng": "^1.6",
        "drupal/search404": "^2.0",
        "drupal/mã ngắn": "2.0.x-dev@dev",
        "drupal/sơ đồ trang web": "^2.0@beta",
        "drupal/theme_switcher": "^1.1",
        "drupal/ultimate_cron": "^2.0@alpha",
        "drupal/upgrade_rector": "1.x-dev@dev",
        "drupal/video": "^1.5@alpha",
        "drupal/video_embed_field": "2.x-dev@dev",
        "drupal/views_data_export": "1.x-dev@dev",
        "drupal/views_slideshow": "^4.8",
        "drupal/biểu mẫu web": "^6.0@alpha",
        "drupal/webform_migrate": "1.x-dev@dev",
        "drupal/trọng lượng": "^3.2",
        "drupal/xhprof": "^1.0@beta",
        "drush/drush": "^10.4",
        "geocoder-php/google-maps-provider": "^4.6",
        "google/apiclient": "^2.0",
        "phpstan/phpstan": "^0.12.81",
        "webmozart/khẳng định": "^1.10"
    },
    "cuộc xung đột": {
        "drupal/drupal": "*"
    },
    "độ ổn định tối thiểu": "dev",
    "thích ổn định": đúng,
    "cấu hình": {
        "gói sắp xếp": đúng
    },
    "thêm": {
        "drupal-giàn giáo": {
            "địa điểm": {
                "web-root": "web/"
            }
        },
        "đường dẫn trình cài đặt": {
            "web/lõi": [
                "loại:drupal-lõi"
            ],
            "web/thư viện/{$name}": [
                "loại:drupal-thư viện"
            ],
            "web/mô-đun/contrib/{$name}": [
                "loại: mô-đun drupal"
            ],
            "web/profile/contrib/{$name}": [
                "loại:drupal-hồ sơ"
            ],
            "web/themes/contrib/{$name}": [
                "loại: chủ đề drupal"
            ],
            "drush/Commands/contrib/{$name}": [
                "loại:drupal-drush"
            ],
            "web/mô-đun/tùy chỉnh/{$name}": [
                "type:drupal-custom-module"
            ],
            "web/themes/custom/{$name}": [
                "loại: drupal-custom-theme"
            ]
        },
        "drupal-core-project-message": {
            "bao gồm các phím": [
                "trang chủ",
                "hỗ trợ"
            ],
            "post-create-project-cmd-message": [
                "<bg=blue;fg=white> </>",
                "<bg=blue;fg=white> Xin chúc mừng, bạn đã cài đặt cơ sở mã Drupal </>",
                "<bg=blue;fg=white> từ mẫu drupal/dự án được đề xuất! </>",
                "<bg=blue;fg=white> </>",
                "",
                "<bg=yellow;fg=black>Các bước tiếp theo</>:",
                " * Cài đặt trang web: https://www.drupal.org/docs/8/install",
                " * Đọc hướng dẫn sử dụng: https://www.drupal.org/docs/user_guide/en/index.html",
                " * Nhận hỗ trợ: https://www.drupal.org/support",
                " * Tham gia với cộng đồng Drupal:",
                " https://www.drupal.org/getting-involved",
                " * Xóa plugin in thông báo này:",
                " nhà soạn nhạc xóa drupal/core-project-message"
            ]
        }
    },
    "yêu cầu-dev": {
        "drupal/core-dev": "^9.1.5",
        "kint-php/kint": "^3.3",
        "mglaman/drupal-check": "^1.1",
        "phpunit/phpunit": "^8.4.1"
    }
}
MrD avatar
lá cờ cn
MrD
Đầu tiên, hãy thử composer remove --dev drupal/core-dev. Và bản cập nhật của nhà soạn nhạc drupal/core-recommended:^9.2. có thể xung đột bởi core-dev.
lá cờ br
Tôi vừa thử trình soạn thảo loại bỏ --dev drupal/core-dev. Và bản cập nhật của nhà soạn nhạc drupal/core-recommended:^9.2. Vẫn nhận được "Không có gì để cài đặt hoặc cập nhật". Dù sao, cảm ơn vì lời đề nghị của ông D.
lá cờ cm
Tài liệu drupal.org - https://www.drupal.org/docs/updating-drupal/updating-drupal-core-via-composer - nói sử dụng `composer update drupal/core "drupal/core-*" -- với tất cả các phụ thuộc`. Nó có giúp ích gì không?
Jaypan avatar
lá cờ de
Vâng, tôi nghĩ đó là điều cần phải làm.
Điểm:8
lá cờ ru

Bạn có một số bản hack thực sự bẩn trong composer.json của mình. Một dòng như "drupal/lõi": "9.2.3 thành 8.9.0" là một ý tưởng rất tồi và sớm muộn gì cũng sẽ bùng nổ. Ý định thường là nâng cấp Drupal core v9 trong khi vẫn giữ các mô-đun chỉ tương thích với v8/v9, nhưng cố gắng làm điều gì đó như thế này hoàn toàn là sai.

  1. Xóa tất cả các dòng drupal/lõi*** ngoại trừ drupal/core-khuyến nghịdrupal/core-composer-giàn giáo. Hai thứ đó sẽ yêu cầu tất cả những thứ khác, thứ thừa drupal/lõi*** chỉ làm cho việc nâng cấp trong tương lai khó khăn hơn.
  2. Trong bài đăng khác của bạn có thông báo lỗi ...drupal/theme_switcher 1.1.0 yêu cầu drupal/core ^8.5.... Mô-đun này không tương thích với Drupal v9 (và có thể là nguyên nhân dẫn đến ý tưởng tồi tệ đã đề cập trước đó). May mắn là bây giờ có một drupal/theme_switcher:^1.2 tương thích với Drupal v9.
  3. Theo kinh nghiệm của tôi, cách đáng tin cậy nhất để cập nhật lõi Drupal là yêu cầu rõ ràng một phiên bản tối thiểu mới của giàn giáo do lõi và nhà soạn nhạc lõi đề xuất: nhà soạn nhạc yêu cầu drupal/core-recommended:^9.2.4 drupal/core-composer-scaffold:^9.2.4 --update-with-dependencies.
  4. Trong trường hợp đặc biệt của bạn, bạn cũng cần cập nhật mô-đun Trình chuyển đổi chủ đề v8 để có đầy đủ các gói tương thích v9: nhà soạn nhạc yêu cầu drupal/core-recommended:^9.2.4 drupal/core-composer-scaffold:^9.2.4 drupal/theme_switcher:^1.2 --update-with-dependencies
lá cờ cn
Thật không may, `"drupal/core": "9.2.3 as 8.9.0"` và bạn bè bị loại: https://www.drupal.org/docs/upgrading-drupal/upgrading-from-drupal-8-to -drupal-9-hoặc-mới hơn. Họ cung cấp cho nó như một tùy chọn và chỉ gọi nó là _không nên dùng_ thay vì đặt tên thích hợp là _tránh bằng mọi giá_
lá cờ br
Cảm ơn @Hudri. Tôi đã thử các bước này, nhưng hiện tại tôi nhận được thông báo: - drupal/core-recommended 9.2.4 yêu cầu drupal/core 9.2.4 -> drupal/core[9.2.4] thỏa mãn nhưng những xung đột này với yêu cầu của bạn hoặc tối thiểu- sự ổn định. - Kết luận: bỏ drupal/core 9.2.3
lá cờ ru
@BrettS cố gắng đưa drupal/core:^9.2.4 vào "yêu cầu của nhà soạn nhạc" và "xóa nhà soạn nhạc" nếu sau đó
lá cờ br
Hóa ra một trong những vấn đề của tôi là một số mô-đun đóng góp đã được vá cục bộ cho Drupal 9. Các mô-đun này vẫn chỉ có thể tải xuống dưới dạng Drupal 8. Mặc dù thực tế là các tệp thông tin đã nêu "^8 || ^9" nhà soạn nhạc đã ném lỗi. Vì vậy, tôi đã xóa các tham chiếu đến các mô-đun đó khỏi tệp trình soạn thảo và sau đó tôi có thể chạy `composer require 'drupal/core-recommended:^9.2.4' 'drupal/core-composer-scaffold:^9.2.4' --update -with-phụ thuộc`. Cảm ơn @Hudri
Điểm:-1
lá cờ de

Bạn đã khóa drupal/core-khuyến nghị đến phiên bản 9.1.5 trong dòng này:

"drupal/core-recommended": "^9.1.5",

Tôi tin rằng bạn có thể khắc phục điều này bằng cách chạy:

cập nhật nhà soạn nhạc drupal/core-recommended:^9.2. -W

Chỉnh sửa: Ngoài ra, điều này có vẻ không tốt với tôi, nhưng tôi không nghĩ nó có liên quan gì đến vấn đề của bạn:

    "drupal/lõi": "9.2.3 thành 8.9.0",

Tôi đoán ai đó đã thực hiện một số bí danh cho mục đích nâng cấp hoặc thứ gì đó. Tôi nghĩ tôi nên thử loại bỏ như 8.9.0 từ đó.

lá cờ cm
lưu ý! Ký hiệu dấu mũ "^9.1.5" không khóa phiên bản - đọc https://getcomposer.org/doc/articles/versions.md - nó chỉ chặn nâng cấp lên Drupal 10.
Jaypan avatar
lá cờ de
Không, đó là khóa nó với biểu thức chính quy mà bạn đã cung cấp có trạng thái 'phiên bản bắt đầu bằng chuỗi 9.1.5', về cơ bản khóa nó với phiên bản `9.1.5`, vì sẽ không có phiên bản nào khác bắt đầu với điều này trừ khi ` nhánh 9.1` đến `9.1.50`, v.v.
lá cờ ru
@Jaypan Không, điều này không chính xác, `^` hoàn toàn không liên quan gì đến regex, đó là khóa phiên bản chính, như @hansfn đã đề cập. Quy tắc bạn đang mô tả là phạm vi phiên bản dấu ngã `~`. `^9.1.5` nghĩa là `>= 9.1.5 và =9.1.5 và
Jaypan avatar
lá cờ de
Ok, tôi đứng sửa. Cảm ơn.
Kevin avatar
lá cờ in
Điều này có thể sử dụng tài liệu tốt hơn, bởi vì bạn có thể nhận được các kết quả khác nhau giữa ^9,0 so với ^9,2, tương tự đối với các mô-đun, tùy thuộc vào phép tính phụ thuộc. Tôi vừa trải nghiệm điều này với một mô-đun được đóng góp và rất khó phát hiện ra do phiên bản phụ gây ra nó.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.