wake-up-neo.com

UnexpectedValueException Konnte die Versionseinschränkung nicht analysieren, wenn versucht wurde, laravelcollective zu installieren

Ich bin neu bei Laravel und versuche, Laravelcollective zu installieren. Ich folge nur der Dokumentation hier und verwende dies aus meinem Projektverzeichnis: 

composer require "laravelcollective/html":"^5.4.0"

Unmittelbar nach dem Drücken von ented bekomme ich leider den folgenden Fehler: 

[UnexpectedValueException] Versionseinschränkung konnte nicht analysiert werden: 5.4.0: Ungültige Versionszeichenfolge ": 5.4.0"

Ich weiß einfach nicht, wie ich das beheben kann. Ich habe nicht viel auf Google gefunden und dies, zusammen mit meiner mangelnden Erfahrung mit Laravel, hat mich festgefahren. 

Kann jemand helfen?

6
incense_stick

Sie können es manuell in composer.json hinzufügen und dann composer update verwenden. 

Fügen Sie einfach "laravelcollective/html": "5.4.*", unter der Zeile mit "laravel/framework":"5.4.*", hinzu. 

So was : 

"require": {
        "php": ">=7.0.0",
        "fideloper/proxy": "~3.3",
        "laravel/framework": "5.4.*",
        "laravelcollective/html": "5.4.*", <-- Add this row
        "laravel/tinker": "~1.0"
    },
2
Thomas Rollet

In meinem Fall habe ich Laravel 5.7 verwendet und beim Installieren des Kollektivs Laravel wurde ein Fehler angezeigt.

Sie können diesen Befehl verwenden, ohne eine Version anzugeben:

composer require 'laravelcollective/html'

Es hat für mich funktioniert. :)

2
mikejay

Sie sollten composer update niemals ohne Argumente ausführen, wenn Sie all Ihre Abhängigkeiten nicht aktualisieren möchten.

In Ihrem Fall besteht das Problem wahrscheinlich darin, dass das Zeichen ^ bereits von Ihrer Shell interpretiert wird, bevor das Argument an Composer übergeben wird. Dies könnte möglicherweise durch die Verwendung von einfachen Anführungszeichen anstelle von doppelten Anführungszeichen gelöst werden:

composer require 'laravelcollective/html:^5.4.0'

Wenn Sie die 5.4.*-Einschränkung wie in einem der obigen Kommentare vorgeschlagen verwendet haben, haben Sie nach dem Doppelpunkt ein Leerzeichen eingefügt, das dazu führt, dass Composer die Versionseinschränkung als Paketnamen interpretiert. Der richtige Befehl wäre folgender gewesen:

composer require "laravelcollective/html":"5.4.*"
2
xabbuh
composer require "laravelcollective/html ^5.4.0"

Arbeitete für mich!

1
Bla Bla