Làm cách nào để cập nhật lõi với Trình soạn thảo?


10

Ok, phải thừa nhận tôi là người mới sáng tác. Vì vậy, trong trang web trước đây của tôi, tôi đã sử dụng trình quản lý nhà soạn nhạc để cập nhật cốt lõi của Drupal. Điều đó khá dễ dàng để sử dụng (chỉ cần chạy "trình soạn thảo drupal-update"). Tuy nhiên, người quản lý nhà soạn nhạc bây giờ nói rằng nó không được chấp nhận.

Phiên bản Drupal 8 của mô-đun này không còn dùng nữa và do không cần thiết nữa, do những cải tiến trong Drupal 8.1. Sử dụng Trình soạn thảo trực tiếp để có được các mô-đun cần thiết, cũng sẽ tải xuống các thư viện cần thiết của họ.

Vì vậy, hôm nay tôi nhận được một cảnh báo rằng tôi cần áp dụng các cập nhật bảo mật cho lõi, nhưng tôi không thể tìm thấy bất kỳ tài liệu nào về cách bạn sẽ cập nhật lõi Drupal với nhà soạn nhạc.

Điều này được thực hiện thông qua Drupal Console, Drush hay đây là lệnh tổng hợp thực tế tôi cần chạy? Tôi không rõ lắm về quy trình ưa thích nằm ngoài "tải xuống phiên bản mới nhất của Drupal từ drupal.org và thay thế tất cả các tệp theo cách thủ công".


Bạn có thể sử dụng drush drush up drupal, tôi nghĩ rằng điều này có thể ghi đè composer.json tho (và các tệp khác) để sao lưu và hoàn nguyên nếu cần. Sau khi sử dụng composer updatevà bạn nên đi tiếp
Trupal

"(và các tệp khác)", Vâng, đó là "các tệp khác" tôi lo lắng. Tại thời điểm đó tôi cũng có thể tự thay thế chúng từ bản tải xuống chính thức và chạy bản cập nhật. Có vẻ như cần có một quá trình dễ dàng hơn. Người quản lý nhà soạn nhạc không tán thành dường như không có nhiều ý nghĩa khi không có sự thay thế nào vào lúc này.
DrupalMonster

Câu trả lời:


10

Để cập nhật Drupal bằng Trình soạn thảo, bạn chỉ cần di chuyển "drupal/core": "~8.1"dòng từ phần thay thế sang phần yêu cầu . Cuối cùng, nội dung của tệp composer.json giống như sau.

{
    "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": {
        "composer/installers": "^1.0.21",
        "wikimedia/composer-merge-plugin": "~1.3",
        "drupal/core": "~8.1"
    },
    "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
        }
    },
    "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"
    },
}

Tôi đã từng chạy drush upcđể cập nhật Drupal, nhưng điều đó đã ghi đè lên tệp composer.json của tôi và thư mục nhà cung cấp. Do đó, tôi nên chạy composer updatemọi lúc để cập nhật nội dung của thư mục nhà cung cấp .

Bây giờ, sử dụng Trình soạn thảo để cập nhật Drupal, tôi cũng có thể sử dụng nó để tải xuống / cập nhật các mô-đun tôi đang sử dụng.

Tệp composer.json tôi đang sử dụng là tệp sau đây.

{
    "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": {
        "composer/installers": "^1.0.21",
        "wikimedia/composer-merge-plugin": "~1.3",
        "drupal/core": "~8.1",
        "drupal/imagick": "8.1.*@dev",
        "drupal/mollom": "^8.1",
        "drupal/honeypot": "^8.1"
    },
    "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
        }
    },
    "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"
    },
    "repositories": {
        "drupal": {
            "type": "composer",
            "url": "https://packagist.drupal-composer.org"
        }
    }
}

Ngoài việc di chuyển dòng đó như tôi đã nói, tôi cũng thực hiện các lệnh sau.

composer config repositories.drupal composer https://packagist.drupal-composer.org
composer require drupal/honeypot
composer require drupal/mollom
composer require drupal/imagick 8.1.*@dev

Việc đầu tiên cho phép tôi yêu cầu các mô-đun Drupal và cập nhật chúng.

Lần cuối cùng tôi thử, kho lưu trữ chính thức của Drupal vẫn ở giai đoạn alpha và nó đã gây ra sự cố cho tôi với các mô-đun tự khai báo là gói Composer, nhưng không đặt loại gói (ví dụ mô-đun drupal). Tôi hy vọng họ đã khắc phục vấn đề, ngay bây giờ. Đối với kho lưu trữ Drupal Packager, các lệnh sẽ sử dụng như sau.

composer config repositories.drupal composer https://packages.drupal.org/8
composer require drupal/honeypot
composer require drupal/mollom
composer require drupal/imagick 1.*@dev

Nếu bạn đã sử dụng https://packagist.drupal-composer.org và bạn muốn thay thế bằng trang Packagist chính thức, bạn cần thay thế lệnh đầu tiên composer config repositories.0 composer https://packages.drupal.org/8, hoạt động nếu bạn không có kho lưu trữ khác, dựa trên Sử dụng gói.drupal.org .

Cũng lưu ý rằng packagist.drupal-composer.org dự kiến ​​sẽ không được chấp nhận vào tháng 1 năm 2017 (hoặc khi Kho lưu trữ gói chính thức từ Drupal.org đã sẵn sàng) .

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.