Önbellek dizini oluşturulamıyor .. veya dizin yazılabilir değil. Laravel'de önbellek olmadan ilerlemek


127

Yeni bir Laravel projesi oluşturdum. Bağımlılıkları kurmak için terminale gittiğimde composerşu uyarı çıkıyor:

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


bestecinin /home/w3cert/.composer/cache/ klasöründe yazma izni yok gibi görünüyor
Amir Bar

2
Bu sudo composer self-update, ~/.composerdizinin rootsonradan sahibi olacağından , Linux üzerinde çalıştırırsanız da olabilir .
17:39

Yanıtlar:


214

Klasör için grup iznini değiştirin

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

ve Dosyalar klasörü de

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

4. parametreyi kullanıcı adınız olarak değiştirmezseniz, w3cert'in kullanıcı adınız olduğunu varsayıyorum.

Sorun hala devam ederse deneyin

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

Şimdi, uygulama dizininizi oluşturamama ihtimaliniz var, eğer bu olursa, html klasörünüz veya laravel projenizi oluşturmaya çalıştığınız klasör için aynısını yapın.

Bu yardımcı olur umarım.


14
Bununla birkaç kez karşılaştım, ancak bunun kök olarak kendi kendine güncellemeyi çalıştırmanın bir sonucu olabileceğini anladım: $ sudo composer kendi kendine güncelleme, bu da ~ / .composer klasörünün ve tüm içeriği sahibini değiştirir. Sadece chown -R ~ / .composer'ınız kendinize dönün
andkrup

10
Eminim ki bu problem ben yaptıktan hemen sonra üretmeye başlamıştırsudo composer self-update
Pratik

4
BTW, chown sahibi değiştirir, grubu değiştirmek için de yapmanız gerekir w3cert:w3cert( [OWNER][:[GROUP]])
Pratik

Bu, proje oluşturmama yardımcı oldu. İlk iki komutu uyguladıktan sonra her şey yolunda gitti.
rahul

Rehbere gittim .composer/ve sudo chown $USER -R /cachebu yardımcı oldu.
saggzz

271

Composer'ı kurduğunuzda $ sudo, ~/.composerklasörün kök tarafından oluşturulduğu için komutu kullandığınızdan oldukça eminiz .

Sorunu çözmek için şunu çalıştırın:

$ sudo chown -R $USER $HOME/.composer

54
Yalnızca kullanıcıyı değil, aynı zamanda klasör grubunu ve içeriğini de düzeltmek için $USERile değiştirin $USER:$USER.
17:41

4

Kullanıcıya .composer'a tam erişim verin.

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

veya

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

user-name sistem kullanıcı adınızdır.

terminalde kullanıcı adı türü "whoami" almak için:

görüntü açıklamasını buraya girin


3

Bugün aynı sorunu yaşadım. Dene!

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


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

1

Bu komutu kullanın:

sudo chown -R $USER ~/.composer/

1

Son zamanlarda benzer bir sorun yaşadım ve satıcı klasörümün izinlerini değiştirmem gerekiyordu

Aşağıdaki komutları çalıştırarak:

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

Bu sorunu çözmek için satıcı dosyalarını açmak ve yazmak için gereken tüm izinleri vermem gerekiyor


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.