web-dev-qa-db-fra.com

Comment corriger l'erreur Composer: "impossible d'analyser les classes dans le répertoire"?

J'essaie d'installer Composer dans un terminal en entrant cette commande:

php composer.phar install

il commence à installer les paquets requis mais je reçois ce type d'erreur:

[RuntimeException]
Impossible de rechercher des classes dans "app/orders" qui ne semblent pas être un fichier ni un dossier 

Comment puis-je surmonter ce problème?

17
user3026894

Lorsque vous installez Laravel, il crée un 

app/commands

dossier. On dirait que ce n'est pas là. Il suffit de le créer ou de le supprimer de composer.json:

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

Et courir

composer update
artisan dump-autoload

Le dernier est similaire à composer dump-autoload, mais il contient également des éléments Laravel.

Si vous n'avez aucune commande, vous n'en avez pas vraiment besoin. Si vous envisagez de créer des commandes artisanales, créez ce dossier et il devrait fonctionner.

14

Cela se produit généralement lorsque vous avez des fichiers corrompus ou qu'une mise à jour du composeur est bloquée ou interrompue.

Pour résoudre ce problème, supprimez simplement les dossiers des fournisseurs et exécutez composer install

11
albanx

J'ai eu le même problème. Dans mon cas, j’ai remarqué qu’il n’y avait pas de dossier app/controls dans mon installation de laravel. J'ai créé le dossier de commandes et composer dump-autoload fonctionnait à nouveau!

4
Saroj

Mon problème était que j'ai eu App au lieu de app dans mon chemin de répertoire. Cela aidera peut-être quelqu'un.

2
Justin

Je suis Xampp utilisateur sur Windows 10. J'essaie toutes les méthodes ci-dessus mais aucune ne fonctionne pour moi. J'ai corrigé mon problème avec cette méthode et j'espère que cela aidera les autres.

  1. Créer un répertoire C:\bin
  2. Ajoutez ;C:\bin à votre variable d'environnement PATH ( related help )
  3. Téléchargez https://phar.phpunit.de/phpunit-5.7.phar et enregistrez le fichier au format C:\bin\phpunit.phar.
  4. Ouvrez une ligne de commande (par exemple, appuyez sur Windows+R »type cmd» ENTER)
  5. Créez un script de traitement par lots (résultat dans C:\bin\phpunit.cmd):

    C:\Users\username> cd C:\bin
    C:\bin> echo @php "%~dp0phpunit.phar" %* > phpunit.cmd
    C:\bin> exit
    
  6. Ouvrez une nouvelle ligne de commande et confirmez que vous pouvez exécuter PHPUnit depuis n’importe quel chemin:

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

Cette méthode résout mon problème. J'espère que cela sauvera votre journée aussi.

1
NomanJaved

J'ai eu le même problème. Pour moi, cela est arrivé après avoir supprimé un répertoire de classe et oublié de mettre à jour composer.json.

Le correctif consistait simplement à mettre à jour le tableau classmap dans composer.json

0
Lando Ke