Laravel 5 Échec de l'ouverture requise bootstrap /../ vendor / autoload.php


366

J'ai récemment installé Laravel 5 via composer. J'ai essayé de créer un nouveau contrôleur en utilisant artisan et j'obtiens l'erreur suivante:

bootstrap /../ vendor / autoload.php. Impossible d'ouvrir le flux: aucun fichier ou répertoire de ce type. Le dossier "fournisseur" n'existe pas.

Suis-je en train de manquer quelque chose?

Réponses:


307

Exécuter le compositeur avec --no-scripts

composer update --no-scripts  

Cela résoudra le problème. J'ai essayé cela sur Mac et Linux.


14
Parfois, lorsque vous exécutez: "composer install", vous obtenez également cette erreur, donc la meilleure option est d'abord exécutée: "composer install --no-scripts", puis exécutez composer installer normalement.
herohat

3
Documentation du compositeur: --no-scripts: ignore l'exécution des scripts définis dans composer.json. ( getcomposer.org/doc/03-cli.md#update )
Aine

Il est préférable d'utiliser l'installation de composer, car il exécutera tout le nécessaire pour installer toutes les dépendances, y compris les scripts.
Leandro Jacques

erreur Composer n'a pas pu trouver un fichier composer.json dans C: \ composer Pour initialiser un projet, veuillez créer un fichier composer.json comme décrit dans la section "Getting Started" de
getcomposer.org

composer installne travaillait pas pour moi, a composer update --no-scriptsfait le travail. Merci!
endo64

137

Quel système d'exploitation utilisez-vous? Pour Windows: accédez àCommand Prompt

définir le chemin vers www/{ur project}

Pour moi : www/laravel5

Tapez ensuite cette commande: composer install

Il installera automatiquement toutes les dépendances dans vendor/


97

Exécutez composer installdans votre dossier de projet racine (ou php composer.phar install).


76

Il s'avère que je n'ai pas activé openssl dans mon php.ini, donc lorsque j'ai créé mon nouveau projet avec composer, il a été installé à partir des sources. J'ai changé ça et j'ai couru

composer update

maintenant le dossier fournisseur a été créé.


57

Avez-vous créé un nouveau projet ou cloné un projet existant?

Si vous avez cloné un projet existant, il est très important d'exécuter

composer install

De cette façon, toutes les dépendances manquantes seront installées.

Mais si vous créez un nouveau projet, vous devez exécuter cette commande pour créer un nouveau projet à l'aide de composer

composer create-project laravel/laravel name-of-your-project

23

J'ai rencontré le même problème. Cela s'est produit car composer n'a pas pu installer les dépendances spécifiées dans le fichier composer.json. essayez de courir

composer install 

Si cela ne résout pas le problème, assurez-vous que les modules php suivants sont installés php-mbstring php-dom

Pour installer ces extensions, exécutez ce qui suit dans le terminal

sudo apt-get install php-mbstring php-dom

une fois l'installation terminée

essayez d'exécuter la commande dans le dossier racine de votre projet

composer install 

4
J'ai installé php-xml pour que cela fonctionne plutôt que php-dom (qui n'existe pas en 16.04).
Evan Carroll

1
Génial!!! Ça a marché!! Installer php-xml au lieu de php-dom est une action par défaut pour apt-get dans ubuntu 16.04
user2928048

1
cela a fonctionné après l'installation de mbstring et php-dom. Je vous remercie!
Splunk

21

Il suffit de l'exécuter dans le répertoire où vous avez installé votre projet

composer install

1
J'ai fait ça et ça a marché, mais pourquoi? J'aimerais comprendre la raison s'il vous plaît.
Simon Suh

1
@SimonSuh pour une raison quelconque (panne de réseau, nouveau projet a été créé sans passer par toutes les commandes, erreur lors de l'installation manuelle, installation de build personnalisée ...) dépendances du compositeur où aucune n'est installée ou n'est pas à jour. cette commande installera et mettra à jour toutes les dépendances de votre projet et cela résoudra le problème. j'espère que c'est suffisant
Williem

20

Vous devez régénérer le autoload.phpfichier. vous pouvez utiliserdump-autoload pour le faire sans avoir à passer par une installation ou une mise à jour.

utilisation

composer dump-autoload

pour générer autoload.phpà nouveau le fichier dans le /vendorrépertoire.


Cela fonctionne pour moi mais avec cette erreur Erreur fatale: Classe 'Illuminate \ Foundation \ Application' introuvable.
Adnan haider

19

Suite à cette étape ci-dessous, j'ai résolu mon problème. Vous pouvez essayer

composer update --no-scripts 
composer update

1
Résolu mon problème aussi! Merci
Crysfel

1
Merci beaucoup!
GeekHades

16

Après avoir vérifié la phpversion et beaucoup de recherches, le problème était sur le Composercôté alors exécutez simplement la commande suivante

composer install --ignore-platform-reqs


6

Lorsque le nouveau projet créé le laravel nécessite de charger les fournisseurs pour charger automatiquement les bibliothèques, nous utilisons la mise à jour du compositeur pour

composer update

Composer est un gestionnaire de dépendances qui vous permet de déléguer la responsabilité de la gestion de vos dépendances à un tiers.


5

Exécutez simplement les commandes suivantes,

composer update

Ou

composer install

5

allez dans votre dossier de projet via cmd. exécutez la commande suivante

composer update

il installera le dossier et les fichiers du fournisseur manquants dans votre projet.

mais dans certains cas, cela donne une erreur comme "Votre configuration ne permet pas la connexion à ....." dans cmd.

pour cela allez dans votre fichier composer.json ,

changer "secure-http": truepour"secure-http": false

mais dans certains cas (comme dans mon cas), vous ne trouverez peut-être pas une telle ligne dans votre fichier. pour cela faire l'action suivante:

change "config": {
        "preferred-install": "dist"
}

à

"config": {
    "preferred-install": "dist",
    "secure-http": false
}

et courir à nouveau composer update commande.

espérons que cela résoudra le problème.


5

Cette solution a fonctionné pour moi. La raison n'est pas d'avoir un dossier fournisseur dans votre application.

Suivez ces étapes:

  1. si votre projet contient un composer.jsonfichier, supprimez-le

  2. puis exécutez

    composer require phpspec/phpspec

Cette commande ajoute un dossier fournisseur à votre projet


4

Configurez simplement un nouveau projet en utilisant composerau lieu de laravelcomme ceci:

composer create-project --prefer-dist laravel/laravel myProje

3

J'ai également eu cette erreur. Mais rien de tout cela n'a résolu le problème. J'ai donc désinstallé et installé à nouveau le compositeur. Alors je l'ai fait composer update. et le problème a été résolu.


aprèscomposer install
Hos Mercury


2

Avant d'exécuter les instructions suivantes, vous devez vous assurer que le compositeur est installé globalement sur votre machine; Ouvrez votre terminal Mac et exécutez la commande suivante:

curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer

une fois que composer est installé globalement, exécutez la commande suivante une fois que vous êtes dans le répertoire du projet:

composer install

une fois terminé, mettez à jour et installez tous les packages requis.


2

Nous avons obtenu une erreur car il manque un dossier de fournisseur dans notre projet. Le répertoire du fournisseur contient nos dépendances Composer.

Besoin d'un /vendordossier car tous les packages sont là et incluent toutes les classes utilisées par Laravel. Un problème peut être résolu après seulement deux étapes:

composer update --no-scripts 
composer update
  • --no-scripts : ignore l'exécution des scripts définis danscomposer.json
  • mise à jour du composeur : cela vérifiera les nouvelles versions des bibliothèques dont vous avez besoin dans votre projet. Si une version plus récente est trouvée et qu'elle est compatible avec la contrainte de version définie dans le composer.jsonfichier, elle remplacera la version précédente installée. Le composer.lockfichier sera mis à jour pour refléter ces changements.

Ces deux commandes, nous recréerons le dossier fournisseur dans notre projet et après cela notre projet fonctionnera sans problème.


1

J'ai ajouté un composer.lockfichier à .gitignore, après la validation de ce fichier dans le référentiel, l'erreur a disparu :)


1

Quelque chose que je réalise est que votre fichier composer.json aura une sorte de script comme

"scripts": {
    "post-root-package-install": [
        "php -r \"copy('.env.example', '.env');\""
    ],
    "post-create-project-cmd": [
        "php artisan key:generate"
    ],
    "post-install-cmd": [
        "php artisan clear-compiled",
        "php artisan optimize"
    ],
    "pre-update-cmd": [
        "php artisan clear-compiled"
    ],
    "post-update-cmd": [
        "php artisan optimize"
    ],
    "post-autoload-dump": [
        "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
        "@php artisan package:discover"
    ]
},

ce qui fonctionne pour moi:

"scripts": {
    "post-root-package-install": [
        "@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
    ],
    "post-create-project-cmd": [
        "@php artisan key:generate"
    ],
    "post-autoload-dump": [
        "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
        "@php artisan package:discover"
    ]
},

la suppression a post install cmdaidé à exécuter l'installation de composer sans aucun problème.

J'espère que cela t'aides

À votre santé!!


1

Supprimez le dossier du fournisseur et exécutez la commande d'installation de composer. Il fonctionne à 100%


1

Il vous manque le dossier du fournisseur, probablement son nouveau référentiel cloné ou son nouveau projet

le dossier du fournisseur est rempli par le binaire du compositeur qui lit le fichier composer.json ou les exigences du système et installe le package dans le dossier du fournisseur et crée un script de chargement automatique qui a tout classé

composer update


0

Dans mon cas, j'ai dû activer une autre extension, à savoir php_mbstring.dlldans le php.inifichier avant de pouvoir fonctionner. Il est répertorié sous extension=php_mbstring.dll. Trouvez-le dans le php.inifichier et supprimez le point-virgule ( ;) devant lui et enregistrez le fichier.

Après cela, exécutez à install composernouveau dans le répertoire racine de votre application Laravel et cela devrait fonctionner.


0

Si vous êtes un utilisateur Windows, vous pouvez désinstaller Composer. Installez ensuite Composer. Après cela, vous installez Laravel. Peut-être que cela fonctionnera.


0

mon problème est résolu par

composer update
composer install
php artisan key:generate

si vous avez un autre problème, vous pouvez vider le cache et configurer Vider le cache de l'itinéraire:

php artisan route:cache

Vider le cache de vue:

php artisan view:clear

Vider le cache de configuration:

php artisan config:cache

0

Je l'ai eu quand je l'ai fait composer updateau lieu de composer install.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.