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.

Karthik
sumber
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.

Nesar
sumber
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
Jim M
sumber
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

Shrikant Pardhi
sumber
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/

sumber
1

Gunakan perintah ini:

sudo chown -R $USER ~/.composer/
Oppa
sumber
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

Lokesh Ramchandani
sumber
0

Jalankan perintah ini:

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