ทำไม“ ผู้แต่งปรับปรุง drupal / drupal” ไม่ทำงาน


10

ผมติดตั้งเว็บไซต์ Drupal 8.2.0 composer create-project drupal/drupal testsiteด้วย

ตอนนี้ฉันต้องการอัปเกรดเป็น Drupal 8.2.1 อย่างไรก็ตามการทำงานcomposer update drupal/drupal ไม่ทำงาน มันพิมพ์ข้อผิดพลาดต่อไปนี้:

ไม่ได้ติดตั้งแพ็คเกจ "drupal / drupal" สำหรับการอัพเดต ความไม่สนใจ

ฉันจะทำสิ่งนี้ได้อย่างไร การสนับสนุนมีการระบุไว้อย่างชัดเจนใน example.gitignore

# Ignore core when managing all of a project's dependencies with Composer
# including Drupal core.
# core

ดังนั้นจะต้องมีวิธีในการทำเช่นนี้กับนักแต่งเพลง แต่อย่างไร

คำตอบ:


5

แก้ไข: นี่อาจจะไม่เป็นประโยชน์ b / c ฉันเพิ่งอ่านคำสั่งของคุณอีกครั้งและคุณไม่มีกรณีเช่นเดียวกับฉันที่ฉันมาจากการติดตั้ง Drupal 8 เก่า แต่ฉันจะทิ้งไว้ในกรณีที่คนอื่นมีสิ่งนี้ ปัญหาและลองดูว่าฉันสามารถค้นหาปัญหาเฉพาะที่คุณมี ขอโทษ

ฉันมีปัญหานี้เมื่อต้องรับมือกับการอัปเดตล่าสุดและนี่คือปัญหาของฉัน แต่ YMMV ดังนั้นถ้ามันไม่ทำงานเพียงแค่แจ้งให้ฉันทราบ

นี่อาจเป็นปัญหาว่าไฟล์ผู้แต่งของคุณถูกตั้งค่าเป็นรายการพื้นที่เก็บข้อมูลเก่าบน composer.org เมื่อเร็ว ๆ นี้ Drupal ตั้งค่าจุดปลายนักแต่งเพลงของตนเองหนึ่งสำหรับ Drupal 7 และอีกอันสำหรับ Drupal 8 คุณสามารถอ่านเพิ่มเติมเกี่ยวกับการเปลี่ยนแปลงดังกล่าวได้ที่นี่: https://www.drupal.org/docs/develop/using-composer/using-composer- การติดตั้ง Drupal แพคเกจผ่าน drupalorg

นี่เป็นคำสั่งที่ต้องรันเพื่อสลับพื้นที่เก็บข้อมูลของ Drupal.org

$ composer config repositories.0 
$ composer https://packages.drupal.org/8

2
ข้อความแสดงข้อผิดพลาดที่น่าสนใจจากคำสั่งที่สอง: "ไม่มีคำสั่งที่กำหนดในเนมสเปซ" https " ตอนนี้ฉันหลงทางจริงๆ
Mojo

4

คิดว่าฉันแก้ไขมัน ฉันคิดว่าฉันจะต้องใช้ไฟล์ root composer.json อื่นที่ดึงมาในแพ็คเกจ drupal แทนที่จะแทนที่ แต่ฉันไม่รู้วิธีการทำเช่นนั้น

โชคดีที่มีคนทำสิ่งนี้มาแล้วและบรรจุหีบห่อ Drupal ใหม่ในลักษณะที่เป็นมิตรกับผู้แต่ง: https://github.com/drupal-composer/drupal-project (ยังไม่มีเวอร์ชั่นที่แน่นอน)

ด้วยการใช้composer create-project drupal-composer/drupal-project:8.x-dev --stability dev drupal-dirฉันสามารถรับการติดตั้งที่สามารถอัปเดตด้วยผู้แต่ง


2
คำสั่งcomposer create-projectใช้โครงการที่ร้องขอเป็นเทมเพลตสำหรับโครงการใหม่ดังนั้นในครั้งแรกที่คุณพยายามใช้ git.drupal.org/project/drupal.gitเป็นเทมเพลตสำหรับโครงการใหม่ของคุณ การใช้github.com/drupal-composer/drupal-projectเป็นเทมเพลตแทนทำให้ Drupal เป็นส่วนหนึ่งของโครงการ ที่จริงแล้วแทนที่จะใช้drupal/drupalมันใช้drupal/core(สำหรับไดเรกทอรีหลัก) และdrupal-composer/drupal-scaffoldสำหรับไฟล์สำคัญอื่น ๆ เช่น index.php และ. htaccess
David Lanier

3

คำสั่งcomposer create-projectโคลนแพคเกจที่ร้องขอซึ่งในกรณีนี้คือhttps://git.drupal.org/project/drupal.git ในตอนท้ายของกระบวนการสร้างโครงการคุณควรได้รับแจ้งว่าคุณต้องการลบประวัติ VCS ที่มีอยู่หรือไม่ หากคุณตอบnคุณจะมีวิธีอัปเดตจากที่เก็บข้อมูลอัปสตรีม drupal เข้าไปยังเว็บไซต์ไซทและใช้ git เพื่อดึงข้อมูลและตรวจสอบเวอร์ชั่นของ Drupal ที่คุณต้องการ จากนั้นเรียกใช้composer installเพื่อรับการอ้างอิงที่ระบุใน composer.json และ composer.lock ของ Drupal รุ่นที่ปรับปรุงแล้ว


3

ในบรรทัดคำสั่งเราจำเป็นต้องมี drupal core (แทนที่ด้วยเวอร์ชั่นของคุณ):

composer require drupal/core:8.6.3 --update-with-dependencies

ในไฟล์ composer.json ภายใต้การแทนที่เราต้องลบ "drupal / core": "^ 8.6" ดังนั้นแทนที่ดูเหมือน:

"replace": {

},

ในไฟล์ผู้แต่งของเราตอนนี้ จากนั้นเราก็วิ่ง:

composer update

และ drupal อัพเดทเป็นเวอร์ชั่นล่าสุด

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