Tidak dapat membuat direktori cache .. atau direktori tidak dapat ditulis. Melanjutkan tanpa cache di Laravel


127

Saya membuat proyek Laravel baru. Ketika saya pergi ke terminal untuk menginstal dependecies composermenampilkan peringatan berikut:

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


sepertinya komposer tidak memiliki izin menulis di /home/w3cert/.composer/cache/ folder
Amir Bar

2
Ini juga dapat terjadi jika Anda berjalan sudo composer self-updatedi Linux, karena ~/.composerdirektori akan menjadi milik root, setelahnya.
gak

Jawaban:


214

Ubah izin grup untuk folder tersebut

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

dan folder Files juga

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

Saya berasumsi w3cert adalah nama pengguna Anda, jika tidak, ubah parameter ke-4 menjadi nama pengguna Anda.

Jika masalah masih berlanjut coba

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

Sekarang, ada kemungkinan Anda tidak dapat membuat direktori aplikasi Anda, jika itu terjadi, lakukan hal yang sama untuk folder html Anda atau folder tempat Anda mencoba membuat proyek laravel Anda.

Semoga ini membantu.


14
Saya telah mengalami ini beberapa kali, tetapi baru menyadari bahwa ini mungkin konsekuensi dari menjalankan pembaruan sendiri sebagai root: $ sudo composer self-update, yang mungkin menjadi penyebab mengapa folder ~ / .composer dan semua isinya ganti pemilik. Cukup chown -R ~ / .composer Anda kembali ke diri Anda sendiri
andkrup

10
Saya yakin masalah ini mulai muncul tepat setelah saya melakukannyasudo composer self-update
Pratik

4
BTW, chown ganti pemilik, untuk mengganti grup juga, Anda harus melakukan w3cert:w3cert( [OWNER][:[GROUP]])
Pratik

Ini membantu saya dalam membuat proyek. Setelah menjalankan dua perintah pertama, semuanya berjalan dengan baik.
rahul

Saya pergi ke .composer/direktori dan sudo chown $USER -R /cacheitu membantu.
saggzz

270

Ketika Anda menginstal komposer cukup yakin Anda menggunakan $ sudoperintah karena ~/.composerfolder itu dibuat oleh root.

Jalankan ini untuk memperbaiki masalah:

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

53
Ganti $USERdengan $USER:$USERuntuk memperbaiki tidak hanya pengguna tetapi juga grup folder dan isinya.
gak

4

Berikan akses penuh dari .composer kepada pengguna.

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

atau

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

user-name adalah nama pengguna sistem Anda.

untuk mendapatkan nama pengguna ketik "whoami" di terminal:

masukkan deskripsi gambar di sini


3

Saya memiliki masalah yang sama hari ini. Cobalah!

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


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

1

Gunakan perintah ini:

sudo chown -R $USER ~/.composer/

1

Saya mengalami masalah serupa baru-baru ini, dan perlu mengubah izin folder vendor saya

Dengan menjalankan perintah berikut:

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

Saya perlu memberikan semua izin yang diperlukan untuk membuka dan menulis file vendor untuk mengatasi masalah ini


Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.