Cache-Verzeichnis kann nicht erstellt werden. Das Verzeichnis ist nicht beschreibbar. Fahren Sie ohne Cache in Laravel fort

126

Ich habe ein neues Laravel-Projekt erstellt. Wenn ich zum Terminal gehe, um die Abhängigkeiten zu installieren, composerwird die folgende Warnung angezeigt :

Cannot create cache directory /home/w3cert/.composer/cache/repo/https---packagist.org/, or directory is not writable. Proceeding without cache.

Karthik
quelle
Es sieht so aus, als hätte der Komponist keine Schreibberechtigung im Ordner /home/w3cert/.composer/cache/
Amir Bar
2
Dies kann auch passieren, wenn Sie sudo composer self-updateunter Linux arbeiten, da das ~/.composerVerzeichnis anschließend im Besitz von rootist.
Caw

Antworten:

214

Ändern Sie die Gruppenberechtigung für den Ordner

sudo chown -R w3cert /home/w3cert/.composer/cache/repo/https---packagist.org

und auch den Ordner "Dateien"

sudo chown -R w3cert /home/w3cert/.composer/cache/files/

Ich gehe davon aus, dass w3cert Ihr Benutzername ist, wenn nicht, ändern Sie den 4. Parameter in Ihren Benutzernamen.

Wenn das Problem weiterhin besteht, versuchen Sie es

sudo chown -R w3cert /home/w3cert/.composer

Jetzt besteht die Möglichkeit, dass Sie Ihr App-Verzeichnis nicht erstellen können. In diesem Fall tun Sie dasselbe für Ihren HTML-Ordner oder den Ordner, in dem Sie Ihr Laravel-Projekt erstellen möchten.

Hoffe das hilft.

Nesar
quelle
14
Ich bin ein paar Mal darauf gestoßen, habe aber gerade festgestellt, dass dies eine Folge der Selbstaktualisierung als root sein kann: $ sudo composer self-update, was möglicherweise die Ursache dafür war, warum der Ordner ~ / .composer und alle Sein Inhalt wechselt den Besitzer. Chown -R Ihr ~ / .composer zurück zu sich selbst
andkrup
10
Ich bin sicher, dass dieses Problem direkt nach mir begannsudo composer self-update
Pratik
4
Übrigens, Chown wechselt den Besitzer, um auch die Gruppe zu wechseln, müssen Sie w3cert:w3cert( [OWNER][:[GROUP]])
Pratik
Dies hat mir bei der Erstellung des Projekts geholfen. Nachdem die ersten beiden Befehle ausgeführt wurden, ging alles gut.
Rahul
Ich ging in das .composer/Verzeichnis und sudo chown $USER -R /cachedas half.
saggzz
270

Bei der Installation von Composer haben Sie den $ sudoBefehl ziemlich sicher verwendet, da der ~/.composerOrdner vom Stamm erstellt wurde.

Führen Sie dies aus, um das Problem zu beheben:

$ sudo chown -R $USER $HOME/.composer
Jim M.
quelle
53
Ersetzen $USERdurch $USER:$USER, um nicht nur den Benutzer, sondern auch die Gruppe des Ordners und seinen Inhalt zu korrigieren.
Caw
4

Geben Sie dem Benutzer vollen Zugriff auf .composer.

sudo chown -R 'user-name' /home/'user-name'/.composer

oder

sudo chmod 777 -R /home/'user-name'/.composer

user-name ist Ihr Systembenutzername.

Um den Benutzernamen zu erhalten, geben Sie "whoami" im Terminal ein:

Geben Sie hier die Bildbeschreibung ein

Shrikant Pardhi
quelle
3

Ich hatte heute das gleiche Problem. Versuch es!

sudo chown -R  [yourgroup]  /home/[youruser]/.composer/cache/repo/https---packagist.org/


sudo chown -R  [yourgroup]   /home/[youruser]/.composer/cache/files/

quelle
1

Verwenden Sie diesen Befehl:

sudo chown -R $USER ~/.composer/
Oppa
quelle
1

Ich hatte kürzlich ein ähnliches Problem und musste die Berechtigungen meines Herstellerordners ändern

Durch Ausführen der folgenden Befehle:

  1. php artisan cache:clear
  2. chmod -R 777 storage vendor
  3. composer dump-autoload

Ich muss alle erforderlichen Berechtigungen zum Öffnen und Schreiben von Herstellerdateien erteilen, um dieses Problem zu beheben

Lokesh Ramchandani
quelle
0

Führen Sie diesen Befehl aus:

    sudo chown -R yourUser /home/yourUser/.composer
RKAISSI Youssef
quelle