Yanıtlar:
Biraz araştırma yaptıktan sonra çözüm bulundu. Aşağıdaki komutu çalıştırın.
echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
Arch Linux için bu satırı /etc/sysctl.d/99-sysctl.conf dosyasına ekleyin:
fs.inotify.max_user_watches=524288
fs.inotify.max_user_watches=524288
için /etc/sysctl.d/99-sysctl.conf
ve daha sonra yürütün sysctl --system
. Bu aynı zamanda yeniden başlatmalarda da devam edecektir. Daha fazla bilgi için: wiki.archlinux.org/index.php/Sysctl
npm dedupe
benim için temizledi. sorunu
echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf
"524288 = fs.inotify.max_user_watches" çizgi /etc/sysctl.conf dosyanın sonuna yazıyor sudo sysctl -p
parametre olarak dosya /etc/sysctl.conf yüklenirken, çalışma zamanında çekirdek yeniden yapılandırır
Bir sudo something ...
şeyi düzeltmek için koşmanız gerektiğinde, neler olduğunu düşünmek için duraklamalısınız. Burada kabul edilen cevap mükemmel bir şekilde geçerli olsa da, sorunu değil semptomu tedavi ediyor. Sorta sorunu çözmek için daha büyük heybe satın alma eşdeğeri: hata, midilli üzerine daha fazla çöp yükleyemezsiniz. Midilli çok fazla çöp içeriyor, midilli bitkinlikle bayılıyor.
Bir alternatif (belki de fazla çöpü midilliden çıkarmak ve çöp kutusuna yerleştirmekle karşılaştırılabilir) çalıştırmaktır:
npm dedupe
O zaman midilli mutlu ettiğin için kendini tebrik et.
sudo
ve şimdi benim için çalışıyor.
fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
kabul edilen cevapta olduğu gibi, ama bana öğretmek için +1npm dedupe
El bombasının cevabını denedikten sonra geçici bir düzeltme kullanabilirsiniz:
sudo bash -c 'echo 524288 > /proc/sys/fs/inotify/max_user_watches'
Bu, kds'nin cevabı ile aynı şeyi yapar , ancak değişikliklere devam etmeden. Bu hata, yalnızca sisteminizin bir süre çalışmadan sonra ortaya çıkarsa yararlıdır.
Kimin inotify örnekleri yaptığını bulmak için şu komutu ( kaynak ) deneyin :
for foo in /proc/*/fd/*; do readlink -f $foo; done | grep inotify | sort | uniq -c | sort -nr
Benimki şöyle görünüyordu:
25 /proc/2857/fd/anon_inode:inotify
9 /proc/2880/fd/anon_inode:inotify
4 /proc/1375/fd/anon_inode:inotify
3 /proc/1851/fd/anon_inode:inotify
2 /proc/2611/fd/anon_inode:inotify
2 /proc/2414/fd/anon_inode:inotify
1 /proc/2992/fd/anon_inode:inotify
Kullanarak ps -p 2857
2857 sürecini tanımlayabildim sublime_text
. Sadece tüm yüce pencereleri kapattıktan sonra düğüm betiğimi çalıştırabildim.
İstemci bilgisayarım çöktükten sonra bu hatayla jest --watch
karşılaştım, sunucuda çalıştırdığım komut devam etti ve jest --watch
tekrar çalıştırmayı denedim .
/etc/sysctl.conf
Yukarıdaki cevaplarda açıklanan ek, bu soruna yardımcı oldu, ancak eski sürecimi ps aux | grep node
ve bulmak için de önemliydi kill
.
Benim durumumda Linux makinemde çalışan vs-kodu ile ilgiliydi. Ben dosya izleyici bla bla hakkında ortaya çıkan bir uyarı görmezden geldi. Çözüm, linux için vs-kod belgeleri sayfasında https://code.visualstudio.com/docs/setup/linux#_visual-studio-code-is-unable-to-watch-for-file-changes-in- Bu geniş-çalışma alanı-hatasız enospc
Çözüm, kabul edilen cevaplarla hemen hemen aynıdır (aynı değilse), vs-code'daki sorunlara girdikten sonra buraya gelen herkes için daha fazla açıklamaya sahiptir.
Benim durumumda, Vim için agresif bir eklentiye sahip olduğumu buldum, sadece yeniden başlattım.
grunt
ancak altında inotify kullanan herhangi bir programa özgüdür . Unix.stackexchange.com/questions/13751/… adresinde iyi bir açıklama var .