web-dev-qa-db-ja.com

Composerエラー:「dir内のクラスをスキャンできませんでした」を修正するには?

次のコマンドを入力して、ターミナルにcomposerをインストールしようとしています。

php composer.phar install

必要なパッケージのインストールを開始しますが、このエラータイプが表示されます。

[RuntimeException]
ファイルでもフォルダでもないように見える「app/commands」内のクラスをスキャンできませんでした

この問題をどのように克服できますか?

21
user3026894

通常、これは、破損したファイルがある場合、またはcomposer更新がクラッシュまたは中断した場合に発生します。

解決するには、ベンダーフォルダーを削除してcomposer install

15
albanx

Laravel=をインストールすると、

app/commands

フォルダ。そこにないようです。作成するかcomposer.jsonから削除するだけです:

"classmap": [
    "app/commands",  /// <--- this line
],

そして走る

composer update
artisan dump-autoload

最後の1つはcomposer dump-autoloadに似ていますが、いくつかのLaravelものも行います。

コマンドがない場合は、本当に必要ありません。職人のコマンドを作成する予定がある場合は、そのフォルダーを作成してください。

同じ問題がありました。私の場合、laravelインストールにapp/commandsフォルダーがないことに気づきました。commandsフォルダーを作成し、composer dump-autoloadが再び機能しました!

4
Saroj

私の問題は、ディレクトリパスにAppの代わりにappが含まれていることです。たぶんこれは誰かを助けるでしょう。

2
Justin

私はXamppユーザーWindows 10。上記のすべての方法を試してみましたが、どれもうまくいきません。この方法で問題を修正しました。うまくいけば、他の人にも役立つでしょう。

  1. ディレクトリC:\ binを作成します
  2. 追加;C:\bin PATH環境変数( 関連ヘルプ
  3. https://phar.phpunit.de/phpunit-5.7.phar をダウンロードして、ファイルをC:\bin\phpunit.phar
  4. コマンドラインを開きます(例:Windows+R"タイプcmd"ENTER)
  5. ラッピングバッチスクリプトを作成します(結果はC:\bin\phpunit.cmd):

    C:\Users\username> cd C:\bin
    C:\bin> echo @php "%~dp0phpunit.phar" %* > phpunit.cmd
    C:\bin> exit
    
  6. 新しいコマンドラインを開き、任意のパスからPHPUnitを実行できることを確認します。

    C:\Users\username> phpunit --version
    PHPUnit x.y.z by Sebastian Bergmann and contributors.
    

この方法は私の問題を解決します。それがあなたの一日も救うことを願っています。

1
NomanJaved

同じ問題がありました。私にとっては、クラスディレクトリを削除してcomposer.jsonを更新するのを忘れた後に起こりました。

修正は、composer.jsonのクラスマップ配列を更新するだけでした。

1
Lando Ke