ฉันจะอัปเดตคอร์ด้วยนักแต่งเพลงได้อย่างไร


10

ตกลงยอมรับว่าฉันเป็นนักแต่งเพลงมือใหม่ ดังนั้นในเว็บไซต์ก่อนหน้านี้ฉันใช้ผู้จัดการผู้แต่งเพื่ออัปเดตคอร์ของ Drupal นั่นเป็นวิธีที่ตรงไปตรงมาในการใช้ (เพียงเรียกใช้ "ผู้แต่ง drupal-update") อย่างไรก็ตามผู้จัดการนักแต่งเพลงบอกว่ามันเลิกใช้แล้ว

โมดูล Drupal 8 ของโมดูลนี้เลิกใช้แล้วและไม่ต้องการอีกต่อไปเนื่องจากการปรับปรุงใน Drupal 8.1 ใช้ Composer โดยตรงเพื่อรับโมดูลที่ต้องการซึ่งจะดาวน์โหลดไลบรารีที่ต้องการ

ดังนั้นวันนี้ฉันได้รับคำเตือนว่าฉันต้องใช้การอัปเดตความปลอดภัยกับคอร์ แต่ฉันไม่สามารถหาเอกสารใด ๆ เกี่ยวกับวิธีที่คุณจะอัปเดตคอร์ Drupal ด้วยนักแต่งเพลง

สิ่งนี้ทำผ่าน Drupal Console, Drush หรือเป็นคำสั่งผู้แต่งเพลงจริงที่ฉันต้องใช้หรือไม่ ฉันไม่ชัดเจนในสิ่งที่กระบวนการที่ต้องการอยู่นอก "ดาวน์โหลดเวอร์ชันล่าสุดของ Drupal จาก drupal.org และแทนที่ไฟล์ทั้งหมดด้วยตนเอง"


คุณสามารถใช้ drush drush up drupalได้ฉันคิดว่านี่อาจจะแทนที่ composer.json ของคุณ tho (และไฟล์อื่น ๆ ) ดังนั้นสำรองและย้อนกลับหากจำเป็น หลังจากใช้งานไปcomposer updateแล้วและคุณควรจะไป
Trupal

"(และไฟล์อื่น ๆ )" ใช่มันเป็น "ไฟล์อื่น ๆ " ที่ฉันกังวล ณ จุดนี้ฉันอาจแทนที่ด้วยตนเองจากการดาวน์โหลดอย่างเป็นทางการและเรียกใช้การปรับปรุงผู้แต่ง ดูเหมือนว่าควรจะมีกระบวนการที่ง่ายขึ้น ผู้จัดการนักแต่งเพลงที่เลิกใช้แล้วดูเหมือนจะไม่สมเหตุสมผลเมื่อไม่มีทางเลือกในขณะนี้
DrupalMonster

คำตอบ:


10

การอัปเดต Drupal โดยใช้นักแต่งเพลง, คุณเพียงแค่ต้องย้าย"drupal/core": "~8.1"สายจากแทนที่ส่วนที่จะต้องมีส่วน ในตอนท้ายเนื้อหาของไฟล์ composer.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": {
        "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"
    },
}

ฉันเคยเรียกใช้drush upcเพื่ออัปเดต Drupal แต่ไฟล์ทับผู้แต่งของฉันและไฟล์ไดเรกทอรีผู้จำหน่าย ด้วยเหตุนี้ฉันควรเรียกใช้composer updateตลอดเวลาเพื่อปรับปรุงเนื้อหาของไดเรกทอรีผู้จัดจำหน่าย

ตอนนี้การใช้ Composer เพื่ออัพเดท Drupal ฉันยังสามารถใช้มันเพื่อดาวน์โหลด / อัปเดตโมดูลที่ฉันใช้อยู่

ไฟล์ composer.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": {
        "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"
        }
    }
}

นอกเหนือจากการย้ายบรรทัดนั้นอย่างที่ฉันบอกไปแล้วฉันยังดำเนินการคำสั่งต่อไปนี้

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

ครั้งแรกทำให้ฉันต้องใช้โมดูล Drupal และอัปเดต

ครั้งสุดท้ายที่ฉันลองที่เก็บอย่างเป็นทางการของ Drupal ยังอยู่ในช่วงอัลฟาและทำให้ฉันมีปัญหากับโมดูลที่ประกาศตัวเองว่าเป็นนักแต่งเพลงแพ็คเกจ แต่ไม่ได้ตั้งค่าประเภทแพคเกจ (เช่นโมดูล drupal) ฉันหวังว่าพวกเขาจะแก้ไขปัญหาตอนนี้ สำหรับที่เก็บ Drupal Packager คำสั่งที่จะใช้มีดังต่อไปนี้

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

หากคุณใช้https://packagist.drupal-composer.orgแล้วและคุณต้องการแทนที่ด้วยเว็บไซต์ Packagist อย่างเป็นทางการคุณจะต้องแทนที่คำสั่งแรกด้วยcomposer config repositories.0 composer https://packages.drupal.org/8ซึ่งจะทำงานหากคุณไม่มีที่เก็บอื่น ๆ โดยอ้างอิงจากใช้ packages.drupal.org

แจ้งให้ทราบว่าpackagist.drupal-composer.org มีกำหนดที่จะคัดค้านในมกราคม 2017 (หรือเมื่ออย่างเป็นทางการแพคเกจ Repository จาก Drupal.org พร้อม)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.