Laravelでソーシャルログイン用のSocialiteをインストールしようとするとSocialiteServiceProvider not found

シェアする

  • このエントリーをはてなブックマークに追加

LaravelでFacebookやTwitter、Google+などのアカウントを使ってログインするソーシャルログインを実装しようしました。

Laravelには、すでに先人がSocialiteというプラグインを作ってくれているので、これを使うことにしました。

Socialiteをインストールしようと、composer updateコマンドの途中でエラーが出て、ハマったので回避方法をメモしました。
image

 

スポンサードリンク

composer updateでfailed to open stream: No such file or directory autoload_real.php

 

私の開発環境では、長い間、composer updateしていなかったので、各パッケージが古い可能性があります。

そこで、まず、最初に、Laravelのホームディレクトリで composer update コマンドを実行してみました。

image

 

image

 

古いパッケージがどんどんアップデートされるのですが、途中でエラーになってしまいました。

 

[UnexpectedValueException]

RecursiveDirectoryIterator::_construct

 

failed to open stream: No such file or directory in xxx\vendor\composer\autoload_real.php on line 54

 

Fatal error: require(): Failed opening required 'xxxx\vendor\laravel-ja\compja5\helper.php'

 

うーん。。。

 

ちょっとどうしようもなくなったので、composerを再インストールすることにしました。

 

再インストールするには、

vendorフォルダと、composer.lockファイルを削除して、composer installします。

 

 

これで、無事にcomposerがインストール出来ました。

 

スポンサードリンク

Class 'Laravel\Socialite\SocialiteServiceProvider' not found

 

これでやっとSocialiteをインストールすることが可能になります。

 

composer.jsonを編集して以下を追加します。

 

 

 

次に、config/app.phpを編集して以下を追加します。

 

 

 

この後、composer updateします。

image

 

また、エラー。。。

[RuntimeException] Error Output:

 

[Symfony\Component\Debug\Exception\FatalErrorException] Class 'Laravel\Socialite\SocialiteServiceProvider' not found

 

 

困った。。。????????

 

いろいろ調べてみて原因がわかりました。

 

composer.jsonにsocialiteを追加して、そのまま、何もせずに直後に、config/app.phpにSocialiteServiceProviderを追加するのがよくないようです。

こうしてしまうと、socialiteがインストールされていないにも関わらず、SocialiteServiceProviderを探しにいって見つからないからエラーになるようです。

 

よって、config/app.phpに追加した変更を削除してから、composer updateします。

image

これで、socialiteがインストールされたので、config/app.phpに、先ほど削除した行を戻しておきます。

 

今からようやくソーシャルログインの実装が出来ます。

 

最後まで読んでいただきありがとうござました。
この記事が気に入っていただけたらシェアしてくれると嬉しいです。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です