Guard: Kein Platz mehr auf dem Gerät - Wiedergabe fehlgeschlagen ...

Erstellt am 22. Jan. 2012  ·  18Kommentare  ·  Quelle: guard/guard

Schutzdatei:

guard 'rspec', :version => 2, :cli => "--color --format nested" do
  watch(%r{^spec/.+_spec\.rb})
  watch(%r{^lib/(.+)\.rb})     { |m| "spec/#{m[1]}_spec.rb" }
end

Gemfile

group :development do
  gem 'guard'
  gem 'libnotify'
  gem 'guard-rspec'
  gem 'rb-readline'
end

Umfeld

  • Linux 2.6.32-5-amd64
  • Ruby 1.8.7 (2011-06-30 Patchlevel 352)

    Fehler

Wenn ich guard start ausführe, sehe ich eine libnotify-Nachricht mit Bericht und dann stürzt der Guard mit dem nächsten Fehler ab:

//home/blake/.rvm/gems/ruby-1.8.7-p352@project/gems/guard-1.0.0/lib/vendor/linux/lib/rb-inotify/watcher.rb:80:in `initialize': No space left on device - Failed to watch "/home/blake/dev/my/project_child/.git/objects/78": The user limit on the total number of inotify watches was reached or the kernel failed to allocate a needed resource. (Errno::ENOSPC)
    from /home/blake/.rvm/gems/ruby-1.8.7-p352@project/gems/guard-1.0.0/lib/vendor/linux/lib/rb-inotify/notifier.rb:190:in `new'
    from /home/blake/.rvm/gems/ruby-1.8.7-p352@project/gems/guard-1.0.0/lib/vendor/linux/lib/rb-inotify/notifier.rb:190:in `watch'
    from /home/blake/.rvm/gems/ruby-1.8.7-p352@project/gems/guard-1.0.0/lib/vendor/linux/lib/rb-inotify/notifier.rb:199:in `watch'
    from /home/blake/.rvm/gems/ruby-1.8.7-p352@project/gems/guard-1.0.0/lib/vendor/linux/lib/rb-inotify/notifier.rb:195:in `watch'
    from /home/blake/.rvm/gems/ruby-1.8.7-p352@project/gems/guard-1.0.0/lib/vendor/linux/lib/rb-inotify/notifier.rb:192:in `each'
    from /home/blake/.rvm/gems/ruby-1.8.7-p352@project/gems/guard-1.0.0/lib/vendor/linux/lib/rb-inotify/notifier.rb:192:in `watch'
    from /home/blake/.rvm/gems/ruby-1.8.7-p352@project/gems/guard-1.0.0/lib/vendor/linux/lib/rb-inotify/notifier.rb:195:in `watch'
    from /home/blake/.rvm/gems/ruby-1.8.7-p352@project/gems/guard-1.0.0/lib/vendor/linux/lib/rb-inotify/notifier.rb:192:in `each'
    from /home/blake/.rvm/gems/ruby-1.8.7-p352@project/gems/guard-1.0.0/lib/vendor/linux/lib/rb-inotify/notifier.rb:192:in `watch'
    from /home/blake/.rvm/gems/ruby-1.8.7-p352@project/gems/guard-1.0.0/lib/vendor/linux/lib/rb-inotify/notifier.rb:195:in `watch'
    from /home/blake/.rvm/gems/ruby-1.8.7-p352@project/gems/guard-1.0.0/lib/vendor/linux/lib/rb-inotify/notifier.rb:192:in `each'
    from /home/blake/.rvm/gems/ruby-1.8.7-p352@project/gems/guard-1.0.0/lib/vendor/linux/lib/rb-inotify/notifier.rb:192:in `watch'
    from /home/blake/.rvm/gems/ruby-1.8.7-p352@project/gems/guard-1.0.0/lib/guard/listeners/linux.rb:58:in `watch'
    from /home/blake/.rvm/gems/ruby-1.8.7-p352@project/gems/guard-1.0.0/lib/guard/listener.rb:100:in `start'
    from /home/blake/.rvm/gems/ruby-1.8.7-p352@project/gems/guard-1.0.0/lib/guard/listeners/linux.rb:20:in `start'
    from /home/blake/.rvm/gems/ruby-1.8.7-p352@project/gems/guard-1.0.0/lib/guard.rb:203:in `start'
    from /home/blake/.rvm/gems/ruby-1.8.7-p352@project/gems/guard-1.0.0/lib/guard/cli.rb:75:in `start'
    from /home/blake/.rvm/gems/ruby-1.8.7-p352@project/gems/thor-0.14.6/lib/thor/task.rb:22:in `send'
    from /home/blake/.rvm/gems/ruby-1.8.7-p352@project/gems/thor-0.14.6/lib/thor/task.rb:22:in `run'
    from /home/blake/.rvm/gems/ruby-1.8.7-p352@project/gems/thor-0.14.6/lib/thor/invocation.rb:118:in `invoke_task'
    from /home/blake/.rvm/gems/ruby-1.8.7-p352@project/gems/thor-0.14.6/lib/thor.rb:263:in `dispatch'
    from /home/blake/.rvm/gems/ruby-1.8.7-p352@project/gems/thor-0.14.6/lib/thor/base.rb:389:in `start'
    from /home/blake/.rvm/gems/ruby-1.8.7-p352@project/gems/guard-1.0.0/bin/guard:6
    from /home/blake/.rvm/gems/ruby-1.8.7-p352@project/bin/guard:19:in `load'
    from /home/blake/.rvm/gems/ruby-1.8.7-p352@project/bin/guard:19home/blake/.rvm/gems/ruby-1.8.7-p352@project/gems/guard-1.0.0/lib/vendor/linux/lib/rb-inotify/watcher.rb:80:in `initialize': No space left on device - Failed to watch "/home/blake/dev/my/project_child/.git/objects/78": The user limit on the total number of inotify watches was reached or the kernel failed to allocate a needed resource. (Errno::ENOSPC)
    from /home/blake/.rvm/gems/ruby-1.8.7-p352@project/gems/guard-1.0.0/lib/vendor/linux/lib/rb-inotify/notifier.rb:190:in `new'
    from /home/blake/.rvm/gems/ruby-1.8.7-p352@project/gems/guard-1.0.0/lib/vendor/linux/lib/rb-inotify/notifier.rb:190:in `watch'
    from /home/blake/.rvm/gems/ruby-1.8.7-p352@project/gems/guard-1.0.0/lib/vendor/linux/lib/rb-inotify/notifier.rb:199:in `watch'
    from /home/blake/.rvm/gems/ruby-1.8.7-p352@project/gems/guard-1.0.0/lib/vendor/linux/lib/rb-inotify/notifier.rb:195:in `watch'
    from /home/blake/.rvm/gems/ruby-1.8.7-p352@project/gems/guard-1.0.0/lib/vendor/linux/lib/rb-inotify/notifier.rb:192:in `each'
    from /home/blake/.rvm/gems/ruby-1.8.7-p352@project/gems/guard-1.0.0/lib/vendor/linux/lib/rb-inotify/notifier.rb:192:in `watch'
    from /home/blake/.rvm/gems/ruby-1.8.7-p352@project/gems/guard-1.0.0/lib/vendor/linux/lib/rb-inotify/notifier.rb:195:in `watch'
    from /home/blake/.rvm/gems/ruby-1.8.7-p352@project/gems/guard-1.0.0/lib/vendor/linux/lib/rb-inotify/notifier.rb:192:in `each'
    from /home/blake/.rvm/gems/ruby-1.8.7-p352@project/gems/guard-1.0.0/lib/vendor/linux/lib/rb-inotify/notifier.rb:192:in `watch'
    from /home/blake/.rvm/gems/ruby-1.8.7-p352@project/gems/guard-1.0.0/lib/vendor/linux/lib/rb-inotify/notifier.rb:195:in `watch'
    from /home/blake/.rvm/gems/ruby-1.8.7-p352@project/gems/guard-1.0.0/lib/vendor/linux/lib/rb-inotify/notifier.rb:192:in `each'
    from /home/blake/.rvm/gems/ruby-1.8.7-p352@project/gems/guard-1.0.0/lib/vendor/linux/lib/rb-inotify/notifier.rb:192:in `watch'
    from /home/blake/.rvm/gems/ruby-1.8.7-p352@project/gems/guard-1.0.0/lib/guard/listeners/linux.rb:58:in `watch'
    from /home/blake/.rvm/gems/ruby-1.8.7-p352@project/gems/guard-1.0.0/lib/guard/listener.rb:100:in `start'
    from /home/blake/.rvm/gems/ruby-1.8.7-p352@project/gems/guard-1.0.0/lib/guard/listeners/linux.rb:20:in `start'
    from /home/blake/.rvm/gems/ruby-1.8.7-p352@project/gems/guard-1.0.0/lib/guard.rb:203:in `start'
    from /home/blake/.rvm/gems/ruby-1.8.7-p352@project/gems/guard-1.0.0/lib/guard/cli.rb:75:in `start'
    from /home/blake/.rvm/gems/ruby-1.8.7-p352@project/gems/thor-0.14.6/lib/thor/task.rb:22:in `send'
    from /home/blake/.rvm/gems/ruby-1.8.7-p352@project/gems/thor-0.14.6/lib/thor/task.rb:22:in `run'
    from /home/blake/.rvm/gems/ruby-1.8.7-p352@project/gems/thor-0.14.6/lib/thor/invocation.rb:118:in `invoke_task'
    from /home/blake/.rvm/gems/ruby-1.8.7-p352@project/gems/thor-0.14.6/lib/thor.rb:263:in `dispatch'
    from /home/blake/.rvm/gems/ruby-1.8.7-p352@project/gems/thor-0.14.6/lib/thor/base.rb:389:in `start'
    from /home/blake/.rvm/gems/ruby-1.8.7-p352@project/gems/guard-1.0.0/bin/guard:6
    from /home/blake/.rvm/gems/ruby-1.8.7-p352@project/bin/guard:19:in `load'
    from /home/blake/.rvm/gems/ruby-1.8.7-p352@project/bin/guard:19


Versucht es, Git-Dateien anzusehen? Vermisse ich etwas?

Hilfreichster Kommentar

Versuchen Sie, die max_user_watches für inotify zu erhöhen. Es ist standardmäßig auf 8192 eingestellt. Ich habe es auf 100k erhöht und die Dinge sind in Ordnung.

cat /proc/sys/fs/inotify/max_user_watches

echo 100000|sudo tee /proc/sys/fs/inotify/max_user_watches

Um max_user_watches beim Booten zu erhöhen, bearbeiten Sie /etc/sysctl.conf und fügen Sie fs.inotify.max_user_watches=100000 hinzu oder fixieren Sie fs.inotify.max_user_watches= auf 100000.

Danke nicht mir, danke diesem Kerl -> http://blog.sorah.jp/2012/01/24/inotify-limitation

Alle 18 Kommentare

Dies kann auftreten, wenn sich in Ihrem Ordner zu viele Dateien zum Ansehen befinden. Sie können einen Pfad mit der Methode ignore_paths ignorieren (weitere Informationen dazu in der README-Datei ).

Ich habe versucht, ignore_paths '.git' es hatte keine Wirkung.

Ich habe nur 93 Dateien im Projekt:

find . | grep -v '.git'  | wc -l
93

Das ist seltsam, versuche die Lib zu bitten, die Jungs zu benachrichtigen.

Nur zur Info, .git wird bereits standardmäßig ignoriert: https://github.com/guard/guard/blob/master/lib/guard/listener.rb#L19

Irgendwelche Neuigkeiten?

Nein. Ich werde versuchen, es auf einem anderen Computer auszuführen.

Hm.. Bei meiner Arbeit läuft auf einem anderen PC das gleiche Projekt gut mit guard.. Auf beiden PCs verwende ich Debian Squeeze.

Ich habe ein ähnliches Problem mit einem großen Verzeichnis, das ich mit ignore_paths ignoriert habe. Es besteht darauf, sich darüber zu beschweren, dass eine Datei im ignorierten Verzeichnis "fehlgeschlagen" wurde.

Pfade werden nur auf der Guard-Ebene ignoriert, nicht jedoch bei rb-inotify daher ist die Verwendung von ignore_paths hier nicht sinnvoll. Um Ihr Problem zu lösen, brauchen wir meiner Meinung nach die Option ignore_paths in rb-inotify . @nex3 meinst du das wäre möglich?

Es scheint keine Möglichkeit zu geben, Pfade in der zugrunde liegenden Inotify-Schnittstelle selektiv zu ignorieren.

Ich habe das Monster-Verzeichnis vorerst aus dem Projektbaum genommen. Danke für den Versuch.

Ich habe das Verzeichnis .git und es funktioniert auch bei mir. Aber vielleicht gibt es was besseres :)

Versuchen Sie, die max_user_watches für inotify zu erhöhen. Es ist standardmäßig auf 8192 eingestellt. Ich habe es auf 100k erhöht und die Dinge sind in Ordnung.

cat /proc/sys/fs/inotify/max_user_watches

echo 100000|sudo tee /proc/sys/fs/inotify/max_user_watches

Um max_user_watches beim Booten zu erhöhen, bearbeiten Sie /etc/sysctl.conf und fügen Sie fs.inotify.max_user_watches=100000 hinzu oder fixieren Sie fs.inotify.max_user_watches= auf 100000.

Danke nicht mir, danke diesem Kerl -> http://blog.sorah.jp/2012/01/24/inotify-limitation

@jhirn Schöner Link, danke zum Teilen! /cc @Maher4Ever

@thibaudgg Ich denke, es ist in der Tat eine gute Idee, diese Ausnahme

Tun Sie es, aber schreiben Sie github.com/sorah und nicht mir. =)

@Maher4Ever yeah +1 für einen Link zu unserer ersten Listen-Wiki-Seite!

@jhirn , guter Fund!
@thibaudgg , danke für die Unterstützung.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

jonmchan picture jonmchan  ·  16Kommentare

tomrossi7 picture tomrossi7  ·  6Kommentare

lastobelus picture lastobelus  ·  5Kommentare

Odaeus picture Odaeus  ·  21Kommentare

Antti picture Antti  ·  4Kommentare