Laravel 5 Fehler beim Öffnen erforderlich Bootstrap /../ vendor / autoload.php

366

Ich habe kürzlich Laravel 5 über Composer installiert. Ich habe versucht, mit artisan einen neuen Controller zu erstellen, und erhalte die folgende Fehlermeldung:

bootstrap /../ vendor / autoload.php. Fehler beim Öffnen des Streams: Keine solche Datei oder kein solches Verzeichnis. Der Ordner "Vendor" existiert nicht.

Vermisse ich etwas

Scott
quelle

Antworten:

307

Führen Sie den Composer mit --no-scripts aus

composer update --no-scripts  

Dies soll das Problem beheben. Ich habe es auf Mac und Linux versucht.

Shubhamoy
quelle
14
Wenn Sie: "composer install" ausführen, wird manchmal auch dieser Fehler angezeigt. Die beste Option ist daher, zuerst "composer install --no-scripts" auszuführen und dann die Composer-Installation normal auszuführen.
Heldhat
3
Composer-Dokumentation: --no-scripts: Überspringt die Ausführung von in composer.json definierten Skripten. ( getcomposer.org/doc/03-cli.md#update )
Aine
Es ist viel besser, die Composer-Installation zu verwenden, da hier alles ausgeführt wird, was zum Installieren aller Abhängigkeiten erforderlich ist, einschließlich Skripten.
Leandro Jacques
Fehler Composer konnte keine composer.json-Datei in C: \ composer finden. Um ein Projekt zu initialisieren, erstellen Sie bitte eine composer.json-Datei, wie im Abschnitt "Erste Schritte" von
getcomposer.org
composer installhat nicht für mich gearbeitet, composer update --no-scriptshat den Job gemacht. Vielen Dank!
Endo64
137

Welches Betriebssystem verwenden Sie? Für Windows: Gehen Sie zuCommand Prompt

Pfad setzen auf www/{ur project}

Für mich : www/laravel5

Geben Sie dann diesen Befehl ein: composer install

Es werden automatisch alle Abhängigkeiten in installiert vendor/

MONTS_MIND_Hacker
quelle
97

Führen Sie composer installin Ihrem Stammprojektordner (oder php composer.phar install) aus.

dan-klasson
quelle
76

Es stellte sich heraus, dass ich openssl in meiner php.ini nicht aktiviert habe. Als ich mein neues Projekt mit Composer erstellte, wurde es von der Quelle installiert. Ich habe das geändert und bin gerannt

composer update

Jetzt wurde der Herstellerordner erstellt.

Scott
quelle
57

Haben Sie ein neues Projekt erstellt oder ein vorhandenes Projekt geklont?

Wenn Sie ein vorhandenes Projekt geklont haben, ist es sehr wichtig, es auszuführen

composer install

Auf diese Weise werden alle fehlenden Abhängigkeiten installiert.

Wenn Sie jedoch ein neues Projekt erstellen, sollten Sie diesen Befehl ausführen, um mit Composer ein neues Projekt zu erstellen

composer create-project laravel/laravel name-of-your-project
Dimitri Acosta
quelle
23

Ich bin auf das gleiche Problem gestoßen. Dies ist darauf zurückzuführen, dass Composer die in der Datei composer.json angegebenen Abhängigkeiten nicht installieren konnte. versuche zu rennen

composer install 

Wenn dies das Problem nicht löst, stellen Sie sicher, dass die folgenden PHP-Module installiert sind. Php-mbstring php-dom

Um diese Erweiterungen zu installieren, führen Sie Folgendes im Terminal aus

sudo apt-get install php-mbstring php-dom

Sobald die Installation abgeschlossen ist

Versuchen Sie, den Befehl in Ihrem Projektstammordner auszuführen

composer install 
naveddeshmukh
quelle
4
Ich habe php-xml installiert, damit dies funktioniert, anstatt php-dom (das in 16.04 nicht existiert).
Evan Carroll
1
Großartig!!! Es funktionierte!! Die Installation von php-xml anstelle von php-dom ist die Standardaktion für apt-get in Ubuntu 16.04
user2928048
1
es funktionierte nach der Installation von mbstring und php-dom. Vielen Dank!
Splunk
21

Führen Sie dies einfach in dem Verzeichnis aus, in dem Sie Ihr Projekt installiert haben

composer install
Williem
quelle
1
Ich habe das gemacht und es hat funktioniert, aber warum? Ich würde gerne den Grund verstehen, bitte.
Simon Suh
1
@SimonSuh aus irgendeinem Grund (Netzwerkfehler, neues Projekt wurde erstellt, ohne alle Befehle zu durchlaufen, Fehler bei der manuellen Installation, benutzerdefinierte Build-Installation ...). Composer-Abhängigkeiten, bei denen keine Installation erfolgt oder die nicht auf dem neuesten Stand sind. Dieser Befehl installiert und aktualisiert alle Abhängigkeiten Ihres Projekts und behebt das Problem. hoffe es ist genug
Williem
20

Sie müssen die autoload.phpDatei neu generieren . Sie können dump-autoloaddies verwenden, ohne eine Installation oder ein Update durchführen zu müssen.

verwenden

composer dump-autoload

um die autoload.phpDatei erneut im /vendorVerzeichnis zu generieren .

Hamid Parchami
quelle
Dies funktioniert bei mir, hat aber diesen Fehler Schwerwiegender Fehler: Klasse 'Illuminate \ Foundation \ Application' wurde nicht gefunden.
Adnan Haider
19

Das Befolgen dieses folgenden Schritts löste mein Problem. Sie können es versuchen

composer update --no-scripts 
composer update
RASEL RANA
quelle
1
Mein Problem wurde auch gelöst! Danke
Crysfel
1
Vielen Dank!
GeekHades
16

Nach Überprüfung der phpVersion und viel Recherche war das Problem auf der ComposerSeite, führen Sie einfach den folgenden Befehl aus

composer install --ignore-platform-reqs

Hashmat Waziri
quelle
6

Wenn das neue Projekt die Laravel erstellt hat, müssen Anbieter geladen werden, um die Bibliotheken automatisch zu laden. Wir verwenden Composer Update to

composer update

Composer ist ein Abhängigkeitsmanager, mit dem Sie die Verantwortung für die Verwaltung Ihrer Abhängigkeiten an Dritte delegieren können.

Suresh Kumar Amrani
quelle
5

Führen Sie einfach die folgenden Befehle aus:

composer update

Oder

composer install
Raham
quelle
5

Gehen Sie über cmd zu Ihrem Projektordner. Führen Sie den folgenden Befehl aus

composer update

Der fehlende Herstellerordner und die fehlenden Dateien werden in Ihrem Projekt installiert.

In einigen Fällen wird jedoch in cmd der Fehler "Ihre Konfiguration erlaubt keine Verbindung zu ....." angezeigt.

Gehen Sie dazu zu Ihrer Datei composer.json .

wechseln "secure-http": truezu"secure-http": false

In einigen Fällen (wie in meinem Fall) finden Sie eine solche Zeile möglicherweise nicht in Ihrer Datei. Führen Sie dazu die folgende Aktion aus:

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

zu

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

und composer updateBefehl erneut ausführen .

hoffe, das wird das Problem lösen.

saadk
quelle
5

Diese Lösung hat bei mir funktioniert. Der Grund ist, keinen Lieferantenordner zu haben Ihre Anwendung .

Folge diesen Schritten:

  1. Wenn Ihr Projekt eine composer.jsonDatei enthält, löschen Sie diese

  2. dann renne

    composer require phpspec/phpspec

Mit diesem Befehl fügen Sie Ihrem Projekt einen Herstellerordner hinzu

Jayani Sumudini
quelle
4

Richten Sie einfach ein neues Projekt ein, composeranstatt laravelFolgendes zu verwenden:

composer create-project --prefer-dist laravel/laravel myProje
Raheel Hasan
quelle
3

Ich hatte auch diesen Fehler. Aber keines der oben genannten Probleme hat das Problem gelöst. Also habe ich den Composer deinstalliert und erneut installiert. Dann habe ich getan composer update. und das Problem wurde behoben.

Srijan Karki
quelle
nachcomposer install
Hos Mercury
3

Ich hatte das gleiche Problem mit Laravel und Handwerker, die Lösung:

php artisan key:generate
Marcelo Agimóvel
quelle
2

Bevor Sie die folgenden Anweisungen ausführen, müssen Sie sicherstellen, dass Composer global auf Ihrem Computer installiert ist. Öffnen Sie Ihr Mac-Terminal und führen Sie den folgenden Befehl aus:

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

Wenn Composer global installiert ist, führen Sie den folgenden Befehl aus, nachdem Sie sich im Verzeichnis des Projekts befinden:

composer install

Sobald dies abgeschlossen ist, aktualisieren und installieren Sie alle erforderlichen Pakete.

Krishneil
quelle
2

Wir haben einen Fehler erhalten, weil wir einen fehlenden Anbieter haben Ordner in unserem Projekt, der Verkäufer - Verzeichnis unserer Composer Abhängigkeiten enthält.

Benötigen Sie einen /vendorOrdner, da alle Pakete vorhanden sind und alle von Laravel verwendeten Klassen enthalten. Ein Problem kann nach nur zwei Schritten gelöst werden:

composer update --no-scripts 
composer update
  • --no-scripts : Überspringt die Ausführung der in definierten Skriptecomposer.json
  • Composer-Update : Hiermit wird nach neueren Versionen der Bibliotheken gesucht, die Sie in Ihrem Projekt benötigt haben. Wenn eine neuere Version gefunden wird und mit der in der composer.jsonDatei definierten Versionsbeschränkung kompatibel ist , wird die zuvor installierte Version ersetzt. Die composer.lockDatei wird aktualisiert, um diese Änderungen widerzuspiegeln.

Mit diesen beiden Befehlen erstellen wir den Herstellerordner in unserem Projekt neu und danach funktioniert unser Projekt reibungslos.

Udhav Sarvaiya
quelle
1

Ich habe eine composer.lockDatei zu .gitignore hinzugefügt , nachdem der Fehler beim Festschreiben dieser Datei im Repository verschwunden ist :)

Alupotha
quelle
1

Mir ist klar, dass Ihre composer.json-Datei eine Art Skript enthält

"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"
    ]
},

was funktioniert bei mir:

"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"
    ]
},

Das Entfernen post install cmdhalf beim Ausführen der Composer-Installation ohne Probleme.

Hoffe das hilft

Prost!!

usrNotFound
quelle
1

Löschen Sie den Herstellerordner und führen Sie den Befehl composer install aus. Es funktioniert zu 100%

Orxanzadeh
quelle
1

Ihnen fehlt der Herstellerordner, wahrscheinlich das neue geklonte Repository oder das neue Projekt

Der Herstellerordner wird mit einer Composer-Binärdatei gefüllt, die die Datei- oder Systemanforderungen von composer.json liest und unter dem Herstellerordner installiert installiert und ein Autoload-Skript erstellt, das alle klassifiziert hat

composer update
AWS PS
quelle
1

Löschen Sie dann den Anbietercomposer install

Hassan Raza
quelle
0

In meinem Fall musste ich eine andere Erweiterung aktivieren, nämlich php_mbstring.dllin der php.iniDatei, bevor sie funktionieren konnte. Es ist unter aufgeführt extension=php_mbstring.dll. Suchen Sie es in der php.iniDatei und entfernen Sie das Semikolon (; ) davor und speichern Sie die Datei.

Führen Sie danach install composererneut im Stammverzeichnis Ihrer Laravel-Anwendung aus und es sollte funktionieren.

Bono
quelle
0

Wenn Sie ein Windows-Benutzer sind, können Sie Composer deinstallieren. Installieren Sie dann Composer. Danach installieren Sie Laravel. Vielleicht klappt es.

Sadik Alamin Tushar
quelle
0

Mein Problem ist gelöst durch

composer update
composer install
php artisan key:generate

Wenn Sie ein anderes Problem haben, können Sie den Cache leeren und den Route-Cache löschen konfigurieren:

php artisan route:cache

View View Cache:

php artisan view:clear

Konfigurationscache löschen:

php artisan config:cache
Sanjay
quelle
0

Ich habe , als ich tat composer updatestatt composer install.

Mick
quelle