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. Échec d'ouverture du flux: Aucun fichier ou répertoire de ce type. Le dossier "fournisseur" n'existe pas.
Est-ce que je manque quelque chose?
Il s'avère que je n'ai pas activé openssl dans mon php.ini. Ainsi, lorsque j'ai créé mon nouveau projet avec composer, il a été installé à partir du code source. J'ai changé ça et j'ai couru
composer update
maintenant le dossier du fournisseur a été créé.
Exécuter composer avec --no-scripts
composer update --no-scripts
Cela doit résoudre le problème. J'ai essayé ceci sur Mac et Linux.
Quel système d'exploitation utilisez-vous? Pour Windows: Allez à _Command Prompt
_
définir le chemin sur _www/{ur project}
_
Pour moi: _www/laravel5
_
Puis tapez cette commande: composer install
Il installera automatiquement toutes les dépendances dans _vendor/
_
Exécutez composer install
dans votre dossier de projet racine (ou php composer.phar install
).
Avez-vous créé un nouveau projet ou avez-vous cloné un projet existant?
Si vous avez cloné un projet existant, il est très important de lancer
composer install
Ainsi, 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
Il suffit de l'exécuter dans le répertoire où vous avez installé votre projet.
composer install
J'ai rencontré le même problème. Cela est dû au fait que 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 cette extension, lancez 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
Vous devez régénérer le fichier autoload.php
. vous pouvez utiliser dump-autoload
pour le faire sans passer par une installation ou une mise à jour.
utilisation
composer dump-autoload
générer à nouveau le fichier autoload.php
dans le répertoire /vendor
.
Suite à cette étape ci-dessous résolu mon problème. Vous pouvez essayer
composer update --no-scripts
composer update
Après avoir vérifié la version de php
et effectué de nombreuses recherches, le problème se posait du côté de Composer
alors exécutez simplement la commande suivante
composer install --ignore-platform-reqs
Lorsque le nouveau projet a créé le laravel besoin de charger les fournisseurs pour charger automatiquement les bibliothèques, nous utilisons composer update 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.
Il suffit de lancer les commandes suivantes,
composer update
Ou
composer install
accédez au dossier de votre projet via cmd. lancer la commande suivante
composer update
il installera le dossier du fournisseur manquant et les fichiers dans votre projet.
mais dans certains cas, cela donne une erreur du type "Votre configuration n'autorise pas la connexion à ....." dans cmd.
pour cela, allez dans votre fichier composer.json,
changez "secure-http": true
en "secure-http": false
mais dans certains cas (comme dans mon cas), il est possible que vous ne trouviez pas cette ligne dans votre fichier. pour cela faire l'action suivante:
change "config": {
"preferred-install": "dist"
}
à
"config": {
"preferred-install": "dist",
"secure-http": false
}
et relancez la commande composer update
.
espérons que cela résoudra le problème.
Cette solution a fonctionné pour moi. La raison en est de ne pas avoir dossier du fournisseur dans votre application.
Suivez ces étapes:
si votre projet contient le fichier composer.json
, supprimez-le.
puis courir
composer require phpspec/phpspec
Cette commande ajoute un dossier fournisseur à votre projet.
Configurez simplement un nouveau projet en utilisant composer
au lieu de laravel
comme ceci:
composer create-project --prefer-dist laravel/laravel myProje
J'ai aussi eu cette erreur. Mais rien de ce qui précède n'a résolu le problème. J'ai donc désinstallé et installé à nouveau le compositeur. Puis j'ai fait composer update
. et le problème a été résolu.
J'ai eu le même problème avec laravel et artisan, la solution:
php artisan key:generate
Avant de suivre les instructions suivantes, vous devez vous assurer que composer est installé globalement sur votre ordinateur. Ouvrez votre terminal Mac et lancez 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 vous trouvez dans le répertoire du projet:
composer install
une fois terminé, mettez à jour et installez tous les packages requis.
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"
]
},
supprimer post install cmd
a aidé à exécuter composer installer sans problème.
J'espère que cela t'aides
À votre santé!!
J'ai ajouté le fichier composer.lock
à .gitignore, après avoir validé ce fichier dans une erreur de référentiel, il est parti :)
Nous avons eu une erreur car nous manquons le dossier vendor dans notre projet. Le répertoire vendor contient nos dépendances Composer.
Besoin du dossier /vendor
parce que tous les paquetages sont présents et que toutes les classes utilisées par Laravel sont utilisées. Un problème peut être résolu en suivant les deux étapes suivantes:
composer update --no-scripts
composer update
composer.json
composer.json
, elle remplacera la version précédente installée. Le fichier composer.lock
sera mis à jour pour refléter ces modifications.Ces deux commandes, nous allons recréer le dossier du fournisseur dans notre projet et ensuite, notre projet fonctionnera sans heurts.
Supprimez le dossier du fournisseur et exécutez la commande composer install. Ça marche à 100%
Si vous êtes un utilisateur Windows, vous pouvez désinstaller Composer. Puis installez Composer. Après cela, vous installez Laravel. Peut-être que ça va marcher.
il peut s'agir d'un problème d'installation, commande suivante. Ça a fonctionné pour moi
cd installationFolder
php artisan package:discover
php artisan key:generate
mon problème est résolu par
composer update
composer install
php artisan key:generate
si vous rencontrez un autre problème, vous pouvez vider le cache et configurer le cache Clear Route:
php artisan route:cache
Effacer le cache de la vue:
php artisan view:clear
Effacer le cache de configuration:
php artisan config:cache
Je l'ai eu quand j'ai fait composer update
au lieu de composer install
.
Je l’ai eu alors j’ai supprimé le dossier du vendeur puis j’ai fait compositeur installer
Dans mon cas, je devais activer une autre extension, à savoir php_mbstring.dll
dans le fichier php.ini
avant de pouvoir fonctionner. Il est répertorié sous extension=php_mbstring.dll
. Recherchez-le dans le fichier php.ini
, supprimez le point-virgule (;
) qui se trouve devant et sauvegardez le fichier.
Après cela, exécutez à nouveau install composer
dans le répertoire racine de votre application Laravel et devrait fonctionner.