Moodle Composer vendor directory not found
10. August 2026 · 6 Min. Lesezeit
Was der Fehler bedeutet
Composer vendor directory not found bedeutet, dass Moodle Composer-installierte PHP-Abhängigkeiten im vendor-Verzeichnis erwartet, sie aber fehlen oder nicht lesbar sind. In Moodle 5.1 und neuer kann das eine normale Installation oder ein Upgrade stoppen.
Die Moodle.org-Diskussion “error in 5.1: Composer vendor directory not found” hat 57 Antworten. Moodle hat außerdem eine offizielle Seite zu Composer vendor directory not found.
Der Produktions-Fix ist meist:
composer install --no-dev --classmap-authoritativeFühren Sie ihn aus der Moodle-Wurzel aus, nicht aus public.
Warum das in Moodle 5.x passiert
Moodle 5.1 machte Composer-Abhängigkeiten als Installationsprüfung sichtbarer. Wer ein offizielles Release-Paket mit allen Abhängigkeiten nutzt, bemerkt Composer vielleicht nie. Wer aus Git installiert, ein eigenes Release baut, nur einen Teil des Codebaums hochlädt oder einen Host-Installer nutzt, kann ohne vendor enden.
Moodle kann dann benötigte Drittbibliotheken nicht laden.
Prüfen Sie zuerst den aktuellen Ordner
Richtig:
cd /var/www/moodle
composer install --no-dev --classmap-authoritativeFalsch:
cd /var/www/moodle/public
composer install --no-dev --classmap-authoritativeComposer gehört in das Moodle-Elternverzeichnis. Innerhalb von public lösen Sie das falsche Problem.
Die sichere Sequenz
Führen Sie dies zuerst in Staging aus:
- Prüfen Sie, ob PHP CLI die Moodle-5.2-Anforderungen erfüllt.
- Wechseln Sie in die Moodle-Wurzel.
- Führen Sie Composer ohne Dev-Abhängigkeiten aus.
- Prüfen Sie
vendor/autoload.php. - Prüfen Sie Eigentümer und Rechte.
- Leeren Sie Caches.
- Starten Sie das Moodle-Upgrade erneut.
php -v
cd /path/to/moodle
composer install --no-dev --classmap-authoritative
test -f vendor/autoload.php
php admin/cli/purge_caches.php
php admin/cli/upgrade.phpWenn php -v PHP 8.2 zeigt, der Webserver aber PHP 8.3 oder 8.4 nutzt, beheben Sie diesen Unterschied zuerst.
Installation aus Git
Git ersetzt kein Dependency Management. Nach Branch oder Tag folgt Composer in der Moodle-Wurzel.
cd /path/to/moodle
git fetch origin
git checkout -b MOODLE_502_STABLE origin/MOODLE_502_STABLE
composer install --no-dev --classmap-authoritative
php admin/cli/upgrade.phpDie Anleitung Git for Administrators erinnert außerdem an Backups und korrekte 5.x-Plugin-Pfade.
Wenn Composer auf Shared Hosting nicht läuft
Hier wird Shared Hosting schwierig.
| Situation | Praktische Option |
|---|---|
| Kein Composer, aber SSH/SFTP | Lokal oder in CI bauen und vollständigen Baum inklusive vendor hochladen |
| Composer nutzt falsches PHP | Passendes PHP/Composer-Paar beim Host anfragen |
| Dateimanager verliert Dateien | Archiv hochladen und serverseitig entpacken |
| Kein Shell-Zugriff, keine großen Uploads | VPS oder Moodle-fähigen Host nutzen |
Laden Sie kein halb gebautes Moodle in Produktion. vendor ist Teil des Artefakts.
Mehr Hosting-Kontext: Kann Moodle 5.2 auf Shared Hosting laufen?.
Wenn Composer selbst fehlschlägt
Lesen Sie die erste echte Fehlermeldung.
| Composer-Ausgabe | Wahrscheinliche Ursache |
|---|---|
| PHP version does not satisfy requirement | PHP CLI zu alt |
Fehlende Extension sodium, intl, zip, soap | Extension nicht für CLI aktiviert |
| Killed oder memory exhausted | Speicherlimit |
Permission denied in vendor | Falscher Eigentümer oder Read-only |
| Could not resolve package | Netzwerk, Proxy, Lock File oder Repository |
Rechte nach Composer
Prüfen Sie:
find vendor -type f -name autoload.php
ls -ld vendor
ls -l vendor/autoload.phpKopieren Sie kein beliebiges vendor aus einer anderen Moodle-Version. Abhängigkeiten müssen zum exakten Code passen.
FAQ
Welcher Befehl behebt den Fehler?
composer install --no-dev --classmap-authoritative, aus der Moodle-Wurzel.
Gehört vendor in public?
Nein. Composer läuft in der Moodle-Wurzel.
Ist das ein Moodle-Bug?
Meist nicht. Meist ist das Deployment-Artefakt unvollständig.

Geschrieben von Choaib Mouhrach
Gründer und Senior-Softwareentwickler
Ich konzipiere und entwickle maßgeschneiderte Lernplattformen für Organisationen mit komplexen Schulungs- und Zertifizierungsabläufen. Statt Plugins und Drittanbieter-Tools zusammenzufügen, entwickle ich Systeme, die zur tatsächlichen Arbeitsweise eines Unternehmens passen, den Verwaltungsaufwand senken und die Lernerfahrung verbessern.
Ihr Lernprodukt verdient seine eigene Plattform.
Wenn Sie eine Lernerfahrung liefern möchten, die rund um Ihr Produkt, Ihre Lernenden und Ihre Ziele gebaut ist, sind Sie hier richtig. Wir bauen Plattformen, die Ihnen die Kontrolle und Flexibilität geben, ohne Grenzen zu wachsen.