2017-05-27 1 views
1

PHP Laravelを初めて使用しています。私はコンポーザーを使ってパッケージを追加しました:composer require djchen/oauth2-fitbit。次のエラーが表示されるので、私のcomposer.jsonはオートローダーを更新していないようです:オートローダーがアップデートされていないようです(Laravel)

Fatal error: Class 'djchen\OAuth2\Client\Provider\Fitbit' not found in xxx on line 5

が、これは5行目は次のようになります。

use djchen\OAuth2\Client\Provider\Fitbit; 
$provider = new Fitbit([ // line 5 

はここに私のcomposer.json(必要なビット)である

{ 
"name": "laravel/laravel", 
"description": "The Laravel Framework.", 
"keywords": ["framework", "laravel"], 
"license": "MIT", 
"type": "vcs", 
"require": { 
    "php": ">=5.6.4", 
    "djchen/oauth2-fitbit": "^1.0", 
    "laravel/framework": "5.4.*", 
    "laravel/tinker": "~1.0" 
}, 
"require-dev": { 
    "fzaninotto/faker": "~1.4", 
    "mockery/mockery": "0.9.*", 
    "phpunit/phpunit": "~5.7" 
}, 
"autoload": { 
    "classmap": [ 
     "database" 
    ], 
    "psr-4": { 
     "App\\": "app/", 
     "djchen\\OAuth2\\Client\\": "src/" // added manually - still does not work 
    } 
}, 
"autoload-dev": { 
    "psr-4": { 
     "Tests\\": "tests/", 
    } 
}, 

私は私の研究を行ってきたと私はインストールの作曲を試みました、作曲家の更新と作曲家のダンプ自動ロード。これらのどれも働かなかった。どんな助けもありがとう。

+0

パッケージをインストールしてサンプルオブジェクトを作成したところ、正常に動作しました。そのビットをcomposer.jsonに追加する必要はありません。コンポーザーは、パッケージcomposer.jsonファイルに基づいてクラスを自動的にロードします。 composer.jsonの変更を削除し、パッケージを一度再インストールする必要があります。他に何もする必要はありません。 Composerがインストールされると、オートローダーが更新されます。 – Sandeesh

+0

多分 '' php artisan optimize --force'を試してみてください – Mozammil

+0

'composer dump-autoload'を試しましたか? – manniL

答えて

0

私はおそらく本当に私はLaravelに新たなんだということを強調している必要があります。

include('vendor/autoload.php'); 

そして、その後も作曲ダンプ-自動ロードを呼び出す:私は単にオートローダーを含むことにより、この問題を回避するために管理しました。

0

ここで核の解決策を考えてみましょう。あなたのオートロードファイルはおそらくどこかにキャッシュされています。コマンド以下

ラン:

$ php artisan clear-compiled 
$ php artisan cache:clear 
$ php artisan config:clear 
$ php artisan optimize 

これがうまくいかない場合は、手動で見つけることができるすべての自動ロードファイルを削除しようとcomposer updateを実行します。 ..

を自分の質問に答える

関連する問題