Re: [nanoc] nanoc watch crashes on startup

79 views
Skip to first unread message

justin

unread,
Apr 20, 2013, 5:39:36 PM4/20/13
to na...@googlegroups.com
It's a dependency issue, probably because your version of listen is too old or too new. Without messing with it, I couldn't tell you which.

You should switch to guard-nanoc, since that's slated to replace nanoc watch anyway, and it's much nicer :)


We're still waiting on the official gem name, so you'll want to add the Git version to your Gemfile:

gem 'guard-nanoc', :git => 'https://github.com/nanoc/guard-nanoc.git'

--j





On Sat, Apr 20, 2013 at 11:03 AM, Chris Leonardi <chrisl...@gmail.com> wrote:
Hi,

When I try to run nanoc watch, I get this error:

Watcher started; compiling the entire site… which: no growlnotify in (/usr/local/rvm/gems/ruby-1.9.3-p392/bin:/usr/local/rvm/gems/ruby-1.9.3-p392@global/bin:/usr/local/rvm/rubies/ruby-1.9.3-p392/bin:/usr/local/rvm/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/cleonardi/bin)
which: no notify-send in (/usr/local/rvm/gems/ruby-1.9.3-p392/bin:/usr/local/rvm/gems/ruby-1.9.3-p392@global/bin:/usr/local/rvm/rubies/ruby-1.9.3-p392/bin:/usr/local/rvm/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/cleonardi/bin)
done in 0s 143ms
Watching for changes…
[Listen warning]:
Listen::MultiListener is deprecated, please use Listen::Listener instead.
[Listen warning]:
Listen::MultiListener is deprecated, please use Listen::Listener instead.

Captain! We’ve been hit!

Message:

ArgumentError: The path '' is not a directory!

Compilation stack:

  (empty)

Stack trace:

  0. /usr/local/rvm/gems/ruby-1.9.3-p392/gems/listen-1.0.0/lib/listen/directory_record.rb:59:in `initialize'
  1. /usr/local/rvm/gems/ruby-1.9.3-p392/gems/listen-1.0.0/lib/listen/listener.rb:246:in `new'
  2. /usr/local/rvm/gems/ruby-1.9.3-p392/gems/listen-1.0.0/lib/listen/listener.rb:246:in `block in initialize_directories_and_directories_records'
  3. /usr/local/rvm/gems/ruby-1.9.3-p392/gems/listen-1.0.0/lib/listen/listener.rb:246:in `map'
  4. /usr/local/rvm/gems/ruby-1.9.3-p392/gems/listen-1.0.0/lib/listen/listener.rb:246:in `initialize_directories_and_directories_records'
  5. /usr/local/rvm/gems/ruby-1.9.3-p392/gems/listen-1.0.0/lib/listen/listener.rb:31:in `initialize'
  6. /usr/local/rvm/gems/ruby-1.9.3-p392/gems/listen-1.0.0/lib/listen/multi_listener.rb:11:in `initialize'
  7. /usr/local/rvm/gems/ruby-1.9.3-p392/gems/nanoc-3.6.2/lib/nanoc/cli/commands/watch.rb:84:in `new'
  8. /usr/local/rvm/gems/ruby-1.9.3-p392/gems/nanoc-3.6.2/lib/nanoc/cli/commands/watch.rb:84:in `run'
  9. /usr/local/rvm/gems/ruby-1.9.3-p392/gems/nanoc-3.6.2/lib/nanoc/cli/command_runner.rb:14:in `block in call'
  ... 17 more lines omitted. See full crash log for details.

If you believe this is a bug in nanoc, please do report it at

A detailed crash log has been written to ./crash.log.

I'm not sure what to make of that. Without the watch command, nanoc compiles my site just fine. I've got this working in my development environment (OSX), but it blows up in our integration environment (RHEL). Any clues? Thanks,

Chris

--
--
You received this message because you are subscribed to the nanoc discusssion group.
 
To post to this group, send email to na...@googlegroups.com
To unsubscribe from this group, send email to
nanoc+un...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/nanoc?hl=en
 
---
You received this message because you are subscribed to the Google Groups "nanoc" group.
To unsubscribe from this group and stop receiving emails from it, send an email to nanoc+un...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 



--
http://justinhileman.com

Bill Burton

unread,
Apr 21, 2013, 7:25:16 PM4/21/13
to nanoc
Hello,

On Sat, Apr 20, 2013 at 5:39 PM, justin <jus...@justinhileman.info> wrote:
It's a dependency issue, probably because your version of listen is too old or too new. Without messing with it, I couldn't tell you which.

You should switch to guard-nanoc, since that's slated to replace nanoc watch anyway, and it's much nicer :)


We're still waiting on the official gem name, so you'll want to add the Git version to your Gemfile:

gem 'guard-nanoc', :git => 'https://github.com/nanoc/guard-nanoc.git'

I've been successfully using guard-nanoc.  The only minor issue I had getting Guard running on Windows was the wdm gem with native code support for monitoring the file system as of a week ago did not include a prebuilt binary.  So this required downloading and installing the DevKit from www.rubyinstaller.org after which the wdm gem built and installed successfully.

The Guard documentation show how to setup a Gemfile in a cross-platform manner so the required dependencies are pulled in depending on your OS:

    # Cross-platform filesystem change detection for Guard
    gem 'rb-fsevent', :require => false  # OS X
    gem 'rb-inotify', :require => false  # Linux
    gem 'wdm', :platforms => [:mswin, :mingw], :require => false  # Windows
    gem 'win32console', :platforms => [:mswin, :mingw], :require => false

-Bill

Chris Leonardi

unread,
Apr 22, 2013, 11:18:49 AM4/22/13
to na...@googlegroups.com, bbu...@mail.com
Justin, Bill - thanks for the quick reply.

Yep, it was a dependency issue with listen. I downgraded to listen-0.7.3, and now nanoc watch works fine. 

I'll look into switching to guard-nanoc.

Denis Defreyne

unread,
Apr 22, 2013, 1:16:47 PM4/22/13
to na...@googlegroups.com
The issue with listen has been reported at [1] and I’ll get to fixing it soon. Or, if somebody else feels like fixing it, be my guest! Branch from release-3.6.x, fix and send a pull request!

Denis

[1]: https://github.com/nanoc/nanoc/issues/309
Reply all
Reply to author
Forward
0 new messages