ข้อกำหนดของคุณไม่สามารถแก้ไขได้ด้วยชุดแพ็คเกจที่ติดตั้งได้ โดยใช้ผู้แต่ง

ฉันมีผู้แต่งนี้ต้องการ:

"require": {
    "maximebf/debugbar": "^1.13.1",
    "kriswallsmith/assetic": "^1.2",
    "symfony/translation": "^4.2",
    "symfony/yaml": "^4.2",
    "symfony/config": "^4.2",
    "symfony/routing": "^4.2",
    "symfony/http-foundation": "^4.2",
    "monolog/monolog": "^1.24",
    "leafo/scssphp": "^0.4.0",
    "ins0/google-measurement-php-client": "^2.1.0",
    "ruflin/elastica": "^6.1",
    "phpmailer/phpmailer": "^6.0",
    "mandrill/mandrill": "^1.0",
    "ezyang/htmlpurifier": "^4.10",
    "xamin/handlebars.php": "^0.10.4",
    "paypal/rest-api-sdk-php": "^1.11.0",
    "paypal/merchant-sdk-php": "^3.9.1",
    "zircote/swagger-php": "^3.0",
    "doctrine/cache": "^1.5",
    "symfony/http-kernel": "^4.2",
    "friendsofsymfony/http-cache": "^2.5.0",
    "kint-php/kint": "^3.1",
    "trello/trello": "^0.1.1",
    "giggsey/libphonenumber-for-php": "^8.8",
    "phpoffice/phpspreadsheet": "^1.6",
    "duccio/apns-php": "^1.0",
    "sentry/sentry": "^2.0.0",
    "symfony/console": "^4.2",
    "guzzlehttp/guzzle": "^6.3",
    "dompdf/dompdf": "^0.8.1",
    "mobiledetect/mobiledetectlib": "^2.8",
    "mpdf/mpdf": "^7.0",
    "ext-mysqli": "*"
  },

และฉันมีข้อผิดพลาด:

Problem 1
    - Conclusion: remove php-http/httplug v2.0.0
    - Installation request for friendsofsymfony/http-cache ^2.5.0 -> satisfiable by friendsofsymfony/http-cache[2.5.0, 2.5.1, 2.5.2, 2.5.3, 2.5.4].
    - sentry/sentry 2.0.0 requires php-http/async-client-implementation ^1.0 -> satisfiable by php-http/guzzle6-adapter[v2.0.1].
    - sentry/sentry 2.0.0 requires php-http/async-client-implementation ^1.0 -> satisfiable by php-http/guzzle6-adapter[v2.0.1].
    - php-http/guzzle6-adapter v2.0.1 requires php-http/httplug ^2.0 -> satisfiable by php-http/httplug[v2.0.0].
    - Conclusion: don't install php-http/httplug v2.0.0
    - Installation request for sentry/sentry ^2.0.0 -> satisfiable by sentry/sentry[2.0.0].

สิ่งที่ฉันไม่รู้ว่าทำไมฉันถึงได้รับข้อผิดพลาดนี้ โดยรู้ว่าบรรทัดที่สร้างข้อผิดพลาดคือ:

"friendsofsymfony/http-cache": "^2.5.0",

เมื่อฉันลบมันออกทุกอย่างทำงานได้อย่างถูกต้อง มีแนวคิดใดบ้างว่าทำไมผู้แต่งถึงไม่ต้องการติดตั้งแพ็คเกจนี้โดยใช้การกำหนดค่าปัจจุบันของฉัน

แก้ไข :

สถานะการทำงานก่อนหน้าของความต้องการของฉันก่อนที่จะอัปเดตเป็นเวอร์ชันที่ใหม่กว่า:

  "require": {
    "maximebf/debugbar": "1.13.1",
    "kriswallsmith/assetic": "1.2.*",
    "symfony/translation": "2.6.11",
    "symfony/yaml": "2.6.11",
    "symfony/config": "2.6",
    "symfony/routing": "2.6",
    "symfony/http-foundation": "2.6",
    "monolog/monolog": "^1.17",
    "leafo/scssphp": "0.4.0",
    "ins0/google-measurement-php-client": "2.1.0",
    "ruflin/elastica": "2.3",
    "phpmailer/phpmailer": "^5.2",
    "mandrill/mandrill": "^1.0",
    "ezyang/htmlpurifier": "4.8.*",
    "xamin/handlebars.php": "^0.10.4",
    "paypal/rest-api-sdk-php": "1.11.0",
    "paypal/merchant-sdk-php": "3.9.1",
    "zircote/swagger-php": "^1.0",
    "doctrine/cache": "^1.5",
    "symfony/http-kernel": "^2.6",
    "friendsofsymfony/http-cache": "^1.4",
    "kint-php/kint": "^2.1",
    "trello/trello": "^0.1.1",
    "giggsey/libphonenumber-for-php": "^8.8",
    "phpoffice/phpexcel": "^1.8",
    "duccio/apns-php": "^1.0",
    "sentry/sentry": "^1.8",
    "symfony/console": "^2.6",
    "guzzle/guzzle": "~3.9",
    "dompdf/dompdf": "^0.8.1",
    "mobiledetect/mobiledetectlib": "^2.8",
    "mpdf/mpdf": "^6.0",
    "ext-mysqli": "*"
  },

person Islam Elshobokshy    schedule 27.02.2019    source แหล่งที่มา


คำตอบ (1)


หากฉันเรียกใช้โค้ดของคุณจาก Clean Slate ฉันจะพบปัญหาที่แตกต่างและชัดเจนยิ่งขึ้น:

  Problem 1
    - Installation request for sentry/sentry ^2.0.0 -> satisfiable by sentry/sentry[2.0.0].
    - sentry/sentry 2.0.0 requires php-http/async-client-implementation ^1.0 -> no matching package found.
  Problem 2
    - friendsofsymfony/http-cache 2.5.4 requires php-http/client-implementation ^1.0.0 -> no matching package found.
    - friendsofsymfony/http-cache 2.5.3 requires php-http/client-implementation ^1.0.0 -> no matching package found.
    - friendsofsymfony/http-cache 2.5.2 requires php-http/client-implementation ^1.0.0 -> no matching package found.
    - friendsofsymfony/http-cache 2.5.1 requires php-http/client-implementation ^1.0.0 -> no matching package found.
    - friendsofsymfony/http-cache 2.5.0 requires php-http/client-implementation ^1.0.0 -> no matching package found.
    - Installation request for friendsofsymfony/http-cache ^2.5.0 -> satisfiable
by friendsofsymfony/http-cache[2.5.0, 2.5.1, 2.5.2, 2.5.3, 2.5.4].

ดูเหมือนว่าการพึ่งพาของคุณต้องการบางสิ่งบางอย่างที่ให้ php-http/ สิ่งซึ่งเป็นแพ็คเกจเสมือนซึ่งอาจมาจาก libs ที่แตกต่างกัน

คุณอาจมีบางอย่างที่ให้มาและลบออกหรือพยายามลบออกในการอัปเดตนี้ ยากที่จะคาดเดา

ฉันอยากจะแนะนำให้ลบ composer.lock และเริ่มจากศูนย์

person Rarst    schedule 27.02.2019
comment
การลบ composer.lock และเริ่มต้นใหม่ทั้งหมดจะส่งผลให้เกิดข้อผิดพลาดเดียวกัน - person Islam Elshobokshy; 27.02.2019
comment
ใช่ และประเด็นก็คือสิ่งนี้ (การพึ่งพาที่ขาดหายไป) เป็นข้อผิดพลาดที่คุณต้องแก้ไข บางครั้งเมื่อคุณมีการลบออกที่รอดำเนินการซึ่งจำเป็นเพื่อให้เป็นไปตามไฟล์ล็อค ผลลัพธ์จะไม่ชัดเจนและไม่สามารถดำเนินการต่อได้ การล็อคแบบหล่นจะแสดงให้คุณเห็นว่าคุณแท้จริงแล้วมีปัญหาอะไร - person Rarst; 27.02.2019
comment
ขอบคุณ! แต่แทนที่จะแก้ปัญหา กลับสร้างปัญหาขึ้นมาอีก คุณสามารถเพิ่มวิธีการแก้ไขปัญหาที่สร้างขึ้นโดยการลบ composer.lock ได้หรือไม่ - person Islam Elshobokshy; 27.02.2019
comment
ฉันไม่รู้ว่าแอปพลิเคชันของคุณทำอะไรหรือคาดหวังอะไรเกี่ยวกับฟังก์ชันที่เกี่ยวข้อง ดังนั้นฉันจึงไม่สามารถบอกคุณได้ว่าต้องใช้แพ็คเกจใด หากคุณมีสถานะการทำงานก่อนหน้านี้ ให้ลองพิจารณาว่าแพ็กเกจบางส่วนถูกนำออกซึ่งเป็นสาเหตุให้เกิดปัญหานี้หรือไม่ และเพิ่มกลับเข้าไปใหม่ - person Rarst; 27.02.2019
comment
ฉันแก้ไข OP ของฉันเพื่อรวมโค้ดที่ฉันมีก่อนหน้านี้ รหัสที่มีอยู่ในขณะนี้เป็นเพียงเวอร์ชันอัปเดตของรหัสที่ฉันมี - person Islam Elshobokshy; 27.02.2019