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

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

ただいまの
回答率

90.62%

  • Laravel 5

    1807questions

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

Laravel 5.1: composer update後のエラー

解決済

回答 1

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 231

applevr

score 3

 前提・実現したいこと

以下の該当ファイルのソースをそれぞれ追加し、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がエラーになっています)

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • mts10806

    2018/05/29 10:02

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

    キャンセル

  • applevr

    2018/05/29 18:56

    その通りです。

    キャンセル

  • mts10806

    2018/05/29 21:16

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

    キャンセル

  • applevr

    2018/05/30 03:14

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

    キャンセル

回答 1

checkベストアンサー

+2

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 20:11 編集

    回答いただきありがとうございます。
    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.
    ```

    キャンセル

  • 2018/05/30 20: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を有効にしてください

    キャンセル

  • 2018/05/30 20:35

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

    キャンセル

  • 2018/05/30 21:02 編集

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

    キャンセル

  • 2018/05/30 21:18

    コンソールで 
    php --ini
    を実行したらphp.iniの場所が出ると思います。

    また、AWS cloud9であれば
    yum -y install php-mbstring
    でphp-mbstringをインストールできそうです。
    phpのバージョンはなんでしょうか。

    関係ないかもしれませんが、
    "thomaswelton/laravel-gravatar": "~1.0",
    の最後のカンマは不要だと思います。

    キャンセル

  • 2018/05/30 21:50

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

    キャンセル

  • 2018/05/30 22:00

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

    キャンセル

  • 2018/05/31 05:12

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

    キャンセル

  • 2018/05/31 14:08

    やはりモジュールが読み込まれていないようです。
    AWS Cloud9でmbstringモジュールを有効にする必要があると思います。
    が、私はCloud9使ったことがないのでどうのようにやるのかはわからないです。

    特にLaravel5.1である必要がなければ
    https://medium.com/@mahmoud_62270/setting-up-laravel-project-on-aws-cloud-9-61370dc55a5d
    こちらの手順をもう一度一からやって環境を再構築するなどしたほうが早いかもしれません。

    キャンセル

  • 2018/05/31 20:40

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

    キャンセル

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

  • ただいまの回答率 90.62%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る

  • Laravel 5

    1807questions

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