web-dev-qa-db-ja.com

UnexpectedValueExceptionは、laravelcollectiveをインストールしようとしたときにバージョンの制約を解析できませんでした

私はlaravelを初めて使用し、laravelcollectiveをインストールしようとしています。ドキュメントに従っているだけです here そして私は私のプロジェクトディレクトリからこれを使用しています:

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

残念ながら、entキーを押した直後に次のエラーが発生します。

[UnexpectedValueException]バージョン制約を解析できませんでした:5.4.0:無効なバージョン文字列 ":5.4.0"

これをトラブルシューティングする方法がわかりません。私はグーグルで多くを見つけませんでした、そしてこれはlaravelでの私の経験の欠如と相まって、私を行き詰まらせたままにします。

誰かがお手伝いできますか?

6
incense_stick

composer.jsonに手動で追加してから、composer updateを使用できます。

"laravelcollective/html": "5.4.*",の行の下に"laravel/framework":"5.4.*",を追加するだけです

このような :

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

私のために働いた!

2
Bla Bla

私の場合、Laravel 5.7を使用していて、Laravel Collectiveをインストールしようとするとエラーが発生し続けました。

バージョンを指定せずにこのコマンドを使用できます。

composer require 'laravelcollective/html'

それは私のために働いた。 :)

2
mikejay

all依存関係を更新したくない場合は、引数なしでcomposer updateを実行しないでください。

あなたの場合、問題はおそらく、引数がComposerに渡される前に、^文字がシェルによって既に解釈されていることです。これは、二重引用符の代わりに単一引用符を使用することで解決できる可能性があります。

composer require 'laravelcollective/html:^5.4.0'

上記のコメントの1つで提案されているように5.4.*制約を使用すると、コロンの後にスペースが追加され、Composerがバージョン制約をパッケージ名として解釈することになります。右コマンドはこれだったでしょう:

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