Skip to content

Server won't start - broken dependency on listen / rb-inotifier gems #353

@MaxPleaner

Description

@MaxPleaner

I'm not sure how specific this problem is to my computer, but I figured I'd document it here anyway.

To start out with, I am running Ubuntu 14.04 and Ruby 2.2.0.

I've been trying to run volt server on an empty application and got the following error (which exited the process)

Stop Child Error: #<ArgumentError: Listen::Listener can't change state from 'backend_started' to
 'stopped', only to: frontend_ready>
/home/max/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/listen-3.0.6/lib/listen/adapter/linux.rb:31:in
 `_configure': uninitialized constant INotify (NameError)
    from /home/max/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/listen-
3.0.6/lib/listen/adapter/base.rb:45:in `block in configure'

I ran gem install rb-inotify and then, in IRB, require 'rb-notify' and INotify. I got the same uninitialized constant error.

I found rb-inotify issue about how version 0.9.7 can't be downloaded from RubyGems (this is the latest version of the gem). There's also a related RubyGems issue.

The fix?

What worked for me was to simply uninstall rb-inotifier and reinstall it.

I'm not really sure how Volt could be patched to fix this error. It's a kind of confounding error and since it prevents volt server all together, I'm worried it could be offputting to beginners to debug this.

Perhaps a dependency for a different version of the rb-inotify gem could be included in the Gemfile. Or maybe the version of listen should be changed (because rb-inotify) is called from listen.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions