質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

Q&A

解決済

1回答

789閲覧

Laravel 5.1: composer update後のエラー

applevr

総合スコア11

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

0グッド

0クリップ

投稿2018/05/28 20:29

編集2018/05/29 18:12

前提・実現したいこと

以下の該当ファイルのソースをそれぞれ追加し、Composer updateを行ったところ、以下のエラーになり、artisanが使えない状態です。composer update方法を色々と試してみましたが、解決できていません。
どうぞよろしくお願いします。

発生している問題・エラーメッセージ

[Symfony\Component\Debug\Exception\FatalErrorException] Class 'Collective\Html\HtmlServiceProvider' not found

該当のソースコード

composer.json ------------------------------------- { "require": { "laravelcollective/html": "5.1.*", }
config/app.php ------------------------------------- 'providers' => [ ... Collective\Html\HtmlServiceProvider::class, ] 'aliases' => [ ... 'Form' => Collective\Html\FormFacade::class, 'Html' => Collective\Html\HtmlFacade::class, ]

試したこと

composer dump-autoloadで解決できたと、色々なサイトに書かれていますが、何度試しても解決できません。
それ以外にも、以下のサイトに書かれている同様のことも試しています。
Fresh 5.1+ installation - Class

[追加]
以下のサイトなども確認しました。
(https://laravelcollective.com/docs/5.1/html#installation)
(https://stackoverflow.com/questions/28541051/class-illuminate-html-htmlserviceprovider-not-found-laravel-5)
(https://laracasts.com/discuss/channels/laravel/class-collectivehtmlhtmlserviceprovider-not-found-1?page=0)
(https://nextat.co.jp/staff/archives/121)
(https://qiita.com/okeguch/items/15cbb520e75bb049ca8d)

補足情報(FW/ツールのバージョンなど)

composer.jsonに追加したLaravelCollectiveの追加位置の順序を入れ替えたところ、今後は、LaravelCollectiveの直前のライブラリがエラーになったりもしました。
(現在はLaravelCollectiveがエラーになっています)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2018/05/29 01:02

「色々なサイトに書かれています」は「エラーメッセージで検索した結果」ということでよろしいですか?
applevr

2018/05/29 09:56

その通りです。
m.ts10806

2018/05/29 12:16

幾つか調べたサイトを例示していただけませんか?その記事が今回の解決に向いているか、質問者さんのやり方が間違っているかは記事を見ないと誰も分かりません。
applevr

2018/05/29 18:14

試したことに[追加]として例示しました。
guest

回答1

0

ベストアンサー

composer.jsonに手書きで記述を追加したのであれば、
jsonの構文が間違っている可能性はありませんか?

一旦composer.jsonの"laravelcollective/html"に関する記述を削除した後に

下記記事のように、

composer require laravelcollective/html

を実行してrequireに追加してから
composer updatecomposer dump-autoload
を試してみるのはいかがでしょうか。

参考:Laravel 5 Class 'Collective\Html\HtmlServiceProvider' not found on AWS

投稿2018/05/30 03:11

ponpu1601

総合スコア166

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

applevr

2018/05/30 11:14 編集

回答いただきありがとうございます。 jsonの構文は以下で、おそらく正しいと思います。 ``` "laravelcollective/html": "5.1.*", ``` 教えて頂いた`composer require laravelcollective/html`を実行したら、以下が表示されました。 ``` Using version ^5.4 for laravelcollective/html ./composer.json has been updated Loading composer repositories with package information Updating dependencies (including require-dev) Your requirements could not be resolved to an installable set of packages. Problem 1 - danielstjules/stringy 1.10.0 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system. - Installation request for danielstjules/stringy (locked at 1.10.0) -> satisfiable by danielstjules/stringy[1.10.0]. (略) Installation failed, reverting ./composer.json to its original content. ```
ponpu1601

2018/05/30 11:22

-> the requested PHP extension mbstring is missing from your system. でphp-mbstringが入ってないといわれていますね OSがわからないので具体的な解決策は言えませんが https://teratail.com/questions/40767 こちらの質問にあるように php-mbstringのインストールやphp.iniの設定を見直してphp-mbstringを有効にしてください
ponpu1601

2018/05/30 11:35

また、json構文の確認はできれば全文、 難しければrequireの{}内をそのままコピペだけでもいいので質問に追記頂ければと思います。
applevr

2018/05/30 12:10 編集

早速ありがとうございます。環境はAWS EC2で、php.iniが見当たりません。 jsonは以下がrequire内です。 --------------------------------------- "require": { "php": ">=5.5.9", "laravel/framework": "5.1.*", "laravelcollective/html": "5.1.*", "thomaswelton/laravel-gravatar": "~1.0", },
ponpu1601

2018/05/30 12:18

コンソールで  php --ini を実行したらphp.iniの場所が出ると思います。 また、AWS cloud9であれば yum -y install php-mbstring でphp-mbstringをインストールできそうです。 phpのバージョンはなんでしょうか。 関係ないかもしれませんが、 "thomaswelton/laravel-gravatar": "~1.0", の最後のカンマは不要だと思います。
applevr

2018/05/30 12:50

AWSを熟知しておらず申し訳ありません。 コンソールで `php --ini` を実行しましたが、結果のファイルのディレクトリ(ファイル)が存在しないようです。また、`yum -y install php-mbstring`はLaravelをインストールする際に、既に実行済みです。 それから、最後のカンマは削除します。
ponpu1601

2018/05/30 13:00

php -m の結果にmbstringは含まれていますか? yumでインストールすると変な場所に入ることがあるのでモジュールが読み込まれていない可能性があります。
applevr

2018/05/30 20:12

php -m の結果に、mbstdingは含まれていませんでした。
ponpu1601

2018/05/31 05:08

やはりモジュールが読み込まれていないようです。 AWS Cloud9でmbstringモジュールを有効にする必要があると思います。 が、私はCloud9使ったことがないのでどうのようにやるのかはわからないです。 特にLaravel5.1である必要がなければ https://medium.com/@mahmoud_62270/setting-up-laravel-project-on-aws-cloud-9-61370dc55a5d こちらの手順をもう一度一からやって環境を再構築するなどしたほうが早いかもしれません。
applevr

2018/05/31 11:40

原因を特定して頂き、ありがとうございました。助かりました。 AWSのサイトを確認をしてみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問