--watch is not watching for changes #2529

Closed
Michael0x2a opened this Issue Jun 18, 2014 · 19 comments

Comments

Projects
None yet
7 participants
@Michael0x2a

I recently upgraded to Jekyll 2.0.3 from 1.5.1, and ran into the following issue. When I run jekyll serve --watch, Jekyll will build my file but then immediately terminates -- it doesn't appear to be watching for changes or serving my files at all.

Running jekyll serve does appear to at least build and serve my files, but then it doesn't appear to watch for changes.

I'm currently running Windows 8.1, if that matters. The only change I made was to update Jekyll, but jekyll serve --watch should still work, right?

Here's my repo, in case it's an error with how I configured things or with my plugins (though the only plugin I have is jekyll-assets 0.7.9), but I can also replicate the issue by creating a new site (jekyll new test), then running jekyll serve --watch. Jekyll correctly launches the server and listens for changes the first time I run the command, but fails to do so when I try running it again.

Occasionally, Jekyll prints out jekyll 2.0.3 | Error: can't convert true into String or jekyll 2.0.3 | Error: can't dupe TrueClass, though I don't know if that's related or not.

@parkr

This comment has been minimized.

Show comment
Hide comment
@parkr

parkr Jun 18, 2014

Member

I can't seem to use your repo with Jekyll 2.0.3 – jekyll-assets is locking it to 1.x.

Member

parkr commented Jun 18, 2014

I can't seem to use your repo with Jekyll 2.0.3 – jekyll-assets is locking it to 1.x.

@parkr

This comment has been minimized.

Show comment
Hide comment
@parkr

parkr Jun 18, 2014

Member

Make sure you're running jekyll with the bundle exec prefix:

bundle exec jekyll serve --watch
Member

parkr commented Jun 18, 2014

Make sure you're running jekyll with the bundle exec prefix:

bundle exec jekyll serve --watch
@Michael0x2a

This comment has been minimized.

Show comment
Hide comment
@Michael0x2a

Michael0x2a Jun 18, 2014

Ok, I fixed the issue with jekyll-assets -- it was an issue with Gemfile.lock.

However, I'm still experiencing the issue with both my repo and with a completely new site. For example, if I create a new site, I see the following:

PS C:\Users\Test> jekyll new testsite
New jekyll site installed in C:/Test/testsite.
PS C:\Users\Test> cd .\testsite
PS C:\Users\Test\testsite> jekyll serve --watch
Configuration file: C:/Users/Test/testsite/_config.yml
            Source: C:/Users/Test/testsite
       Destination: C:/Users/Test/testsite/_site
      Generating...
C:/Ruby193/lib/ruby/gems/1.9.1/gems/posix-spawn-0.3.8/lib/posix/spawn.rb:162: warning: cannot close fd before spawn
'which' is not recognized as an internal or external command,
operable program or batch file.
                    done.
 Auto-regeneration: enabled
Configuration file: C:/Users/Test/testsite/_config.yml
    Server address: http://0.0.0.0:4000/
  Server running... press ctrl-c to stop.
Terminate batch job (Y/N)? Y
PS C:\Users\Test\testsite> jekyll serve --watch
Configuration file: C:/Test/testsite/_config.yml
            Source: C:/Test/testsite
       Destination: C:/Test/testsite/_site
      Generating...
C:/Ruby193/lib/ruby/gems/1.9.1/gems/posix-spawn-0.3.8/lib/posix/spawn.rb:162: warning: cannot close fd before spawn
'which' is not recognized as an internal or external command,
operable program or batch file.
                    done.
PS C:\Users\Test\testsite>

Calling jekyll serve --watch appears to work correctly the first time I call it (it enables auto-generation, and starts listening on http://0.0.0.0:4000/), but not do so when I try calling the command again.

I'm running ruby 1.9.3p545 (2014-02-24) [i386-mingw32], and here's what I get when I run gem list:

PS C:\Test> gem list

*** LOCAL GEMS ***

bigdecimal (1.2.5, 1.1.0)
blankslate (3.1.3, 3.1.2, 2.1.2.4)
bootstrap-sass (3.1.1.1, 3.1.1.0)
bundle (0.0.1)
bundler (1.6.3, 1.5.3)
celluloid (0.15.2)
celluloid-io (0.15.0)
classifier (1.3.4)
coffee-script (2.2.0)
coffee-script-source (1.7.0)
colorator (0.1)
commander (4.2.0, 4.1.6)
execjs (2.2.0, 2.0.2)
fast-stemmer (1.0.2)
ffi (1.9.3 x86-mingw32)
highline (1.6.21)
hike (2.1.3, 1.2.3)
hitimes (1.2.1)
io-console (0.4.2, 0.3)
jekyll (2.0.3)
jekyll-assets (0.7.9)
jekyll-coffeescript (1.0.0)
jekyll-sass-converter (1.0.0)
json (1.8.1, 1.5.5)
kramdown (1.4.0)
liquid (2.6.1, 2.5.5)
listen (2.7.8, 2.7.1, 2.6.2, 1.3.1)
maruku (0.7.2, 0.7.1, 0.7.0)
mercenary (0.3.3)
minitest (5.3.5, 5.3.1, 2.5.1)
multi_json (1.10.1, 1.9.2, 1.9.0)
narray (0.6.0.9, 0.6.0.8)
nio4r (1.0.0)
parslet (1.6.1, 1.5.0)
posix-spawn (0.3.8)
pygments.rb (0.6.0, 0.5.4, 0.5.0)
rack (1.5.2)
rake (10.3.2, 10.2.2, 0.9.2.2)
rb-fsevent (0.9.4)
rb-inotify (0.9.5, 0.9.3)
rb-kqueue (0.2.3, 0.2.2)
rdoc (4.1.1, 3.9.5)
redcarpet (3.1.2, 3.1.1, 2.3.0)
safe_yaml (1.0.3, 1.0.1, 0.9.7)
sass (3.3.8, 3.3.4, 3.2.14)
sprockets (2.12.1, 2.12.0, 2.11.0)
tilt (2.0.1, 1.4.1)
timers (3.0.0, 2.0.0, 1.1.0)
toml (0.1.1)
uglifier (2.5.1, 2.5.0, 2.4.0)
wdm (0.1.0)
yajl-ruby (1.2.1, 1.2.0, 1.1.0 x86-mingw32)

Ok, I fixed the issue with jekyll-assets -- it was an issue with Gemfile.lock.

However, I'm still experiencing the issue with both my repo and with a completely new site. For example, if I create a new site, I see the following:

PS C:\Users\Test> jekyll new testsite
New jekyll site installed in C:/Test/testsite.
PS C:\Users\Test> cd .\testsite
PS C:\Users\Test\testsite> jekyll serve --watch
Configuration file: C:/Users/Test/testsite/_config.yml
            Source: C:/Users/Test/testsite
       Destination: C:/Users/Test/testsite/_site
      Generating...
C:/Ruby193/lib/ruby/gems/1.9.1/gems/posix-spawn-0.3.8/lib/posix/spawn.rb:162: warning: cannot close fd before spawn
'which' is not recognized as an internal or external command,
operable program or batch file.
                    done.
 Auto-regeneration: enabled
Configuration file: C:/Users/Test/testsite/_config.yml
    Server address: http://0.0.0.0:4000/
  Server running... press ctrl-c to stop.
Terminate batch job (Y/N)? Y
PS C:\Users\Test\testsite> jekyll serve --watch
Configuration file: C:/Test/testsite/_config.yml
            Source: C:/Test/testsite
       Destination: C:/Test/testsite/_site
      Generating...
C:/Ruby193/lib/ruby/gems/1.9.1/gems/posix-spawn-0.3.8/lib/posix/spawn.rb:162: warning: cannot close fd before spawn
'which' is not recognized as an internal or external command,
operable program or batch file.
                    done.
PS C:\Users\Test\testsite>

Calling jekyll serve --watch appears to work correctly the first time I call it (it enables auto-generation, and starts listening on http://0.0.0.0:4000/), but not do so when I try calling the command again.

I'm running ruby 1.9.3p545 (2014-02-24) [i386-mingw32], and here's what I get when I run gem list:

PS C:\Test> gem list

*** LOCAL GEMS ***

bigdecimal (1.2.5, 1.1.0)
blankslate (3.1.3, 3.1.2, 2.1.2.4)
bootstrap-sass (3.1.1.1, 3.1.1.0)
bundle (0.0.1)
bundler (1.6.3, 1.5.3)
celluloid (0.15.2)
celluloid-io (0.15.0)
classifier (1.3.4)
coffee-script (2.2.0)
coffee-script-source (1.7.0)
colorator (0.1)
commander (4.2.0, 4.1.6)
execjs (2.2.0, 2.0.2)
fast-stemmer (1.0.2)
ffi (1.9.3 x86-mingw32)
highline (1.6.21)
hike (2.1.3, 1.2.3)
hitimes (1.2.1)
io-console (0.4.2, 0.3)
jekyll (2.0.3)
jekyll-assets (0.7.9)
jekyll-coffeescript (1.0.0)
jekyll-sass-converter (1.0.0)
json (1.8.1, 1.5.5)
kramdown (1.4.0)
liquid (2.6.1, 2.5.5)
listen (2.7.8, 2.7.1, 2.6.2, 1.3.1)
maruku (0.7.2, 0.7.1, 0.7.0)
mercenary (0.3.3)
minitest (5.3.5, 5.3.1, 2.5.1)
multi_json (1.10.1, 1.9.2, 1.9.0)
narray (0.6.0.9, 0.6.0.8)
nio4r (1.0.0)
parslet (1.6.1, 1.5.0)
posix-spawn (0.3.8)
pygments.rb (0.6.0, 0.5.4, 0.5.0)
rack (1.5.2)
rake (10.3.2, 10.2.2, 0.9.2.2)
rb-fsevent (0.9.4)
rb-inotify (0.9.5, 0.9.3)
rb-kqueue (0.2.3, 0.2.2)
rdoc (4.1.1, 3.9.5)
redcarpet (3.1.2, 3.1.1, 2.3.0)
safe_yaml (1.0.3, 1.0.1, 0.9.7)
sass (3.3.8, 3.3.4, 3.2.14)
sprockets (2.12.1, 2.12.0, 2.11.0)
tilt (2.0.1, 1.4.1)
timers (3.0.0, 2.0.0, 1.1.0)
toml (0.1.1)
uglifier (2.5.1, 2.5.0, 2.4.0)
wdm (0.1.0)
yajl-ruby (1.2.1, 1.2.0, 1.1.0 x86-mingw32)
@parkr

This comment has been minimized.

Show comment
Hide comment
@parkr

parkr Jun 18, 2014

Member

Can you run bundle exec gem list? wdm has to be inside your bundle.

Member

parkr commented Jun 18, 2014

Can you run bundle exec gem list? wdm has to be inside your bundle.

@Michael0x2a

This comment has been minimized.

Show comment
Hide comment
@Michael0x2a

Michael0x2a Jun 18, 2014

Running bundle exec gem list inside my current repo produces:

*** LOCAL GEMS ***

blankslate (2.1.2.4)
bundler (1.6.3)
celluloid (0.15.2)
classifier (1.3.4)
coffee-script (2.2.0)
coffee-script-source (1.7.0)
colorator (0.1)
execjs (2.2.0)
fast-stemmer (1.0.2)
ffi (1.9.3 x86-mingw32)
hike (1.2.3)
jekyll (2.0.3)
jekyll-assets (0.7.9)
jekyll-coffeescript (1.0.0)
jekyll-sass-converter (1.0.0)
kramdown (1.4.0)
liquid (2.5.5)
listen (2.7.8)
mercenary (0.3.3)
multi_json (1.10.1)
parslet (1.5.0)
posix-spawn (0.3.8)
pygments.rb (0.5.4)
rack (1.5.2)
rb-fsevent (0.9.4)
rb-inotify (0.9.5)
redcarpet (3.1.2)
safe_yaml (1.0.3)
sass (3.3.8)
sprockets (2.12.1)
tilt (1.4.1)
timers (1.1.0)
toml (0.1.1)
wdm (0.1.0)
yajl-ruby (1.1.0 x86-mingw32)

Running bundle exec gem list inside my current repo produces:

*** LOCAL GEMS ***

blankslate (2.1.2.4)
bundler (1.6.3)
celluloid (0.15.2)
classifier (1.3.4)
coffee-script (2.2.0)
coffee-script-source (1.7.0)
colorator (0.1)
execjs (2.2.0)
fast-stemmer (1.0.2)
ffi (1.9.3 x86-mingw32)
hike (1.2.3)
jekyll (2.0.3)
jekyll-assets (0.7.9)
jekyll-coffeescript (1.0.0)
jekyll-sass-converter (1.0.0)
kramdown (1.4.0)
liquid (2.5.5)
listen (2.7.8)
mercenary (0.3.3)
multi_json (1.10.1)
parslet (1.5.0)
posix-spawn (0.3.8)
pygments.rb (0.5.4)
rack (1.5.2)
rb-fsevent (0.9.4)
rb-inotify (0.9.5)
redcarpet (3.1.2)
safe_yaml (1.0.3)
sass (3.3.8)
sprockets (2.12.1)
tilt (1.4.1)
timers (1.1.0)
toml (0.1.1)
wdm (0.1.0)
yajl-ruby (1.1.0 x86-mingw32)
@tigefa4u

This comment has been minimized.

Show comment
Hide comment
@tigefa4u

tigefa4u Jun 18, 2014

@Michael0x2a test it with jekyll 1.2.1 version

@Michael0x2a test it with jekyll 1.2.1 version

@Michael0x2a

This comment has been minimized.

Show comment
Hide comment
@Michael0x2a

Michael0x2a Jun 18, 2014

The auto-generation appears to be working with 1.2.1, and with 1.4.2 (the version of jekyll I was using before I updated). I'll try testing it with some more versions to try and pinpoint when it broke.

The auto-generation appears to be working with 1.2.1, and with 1.4.2 (the version of jekyll I was using before I updated). I'll try testing it with some more versions to try and pinpoint when it broke.

@Michael0x2a

This comment has been minimized.

Show comment
Hide comment
@Michael0x2a

Michael0x2a Jun 18, 2014

Everything appears to be working up to 1.5.1 and up to 2.0.0.alpha.1, but breaks in the manner described above when I tried using 2.0.0.alpha.2.

Everything appears to be working up to 1.5.1 and up to 2.0.0.alpha.1, but breaks in the manner described above when I tried using 2.0.0.alpha.2.

@parkr

This comment has been minimized.

Show comment
Hide comment
@parkr

parkr Jun 18, 2014

Member

Does #2196 seem to be related? Can you run your command with the environment variable LISTEN_GEM_DEBUGGING=1 set and paste the output?

Member

parkr commented Jun 18, 2014

Does #2196 seem to be related? Can you run your command with the environment variable LISTEN_GEM_DEBUGGING=1 set and paste the output?

@tigefa4u

This comment has been minimized.

Show comment
Hide comment
@tigefa4u

tigefa4u Jun 18, 2014

@Michael0x2a or replace jekyll-assets with tgfa-jekyll-assets

tgfa-jekyll-assets set jekyll version to 1.2.1 💎

@Michael0x2a or replace jekyll-assets with tgfa-jekyll-assets

tgfa-jekyll-assets set jekyll version to 1.2.1 💎

@Michael0x2a

This comment has been minimized.

Show comment
Hide comment
@Michael0x2a

Michael0x2a Jun 18, 2014

When using Jekyll 2.0.3, I get the following:

C:\Users\Michael\Dropbox\Projects\Organizations\TEDxUofW\tedxuofw-website\tedxuofw-website>bundle exec jekyll serve --watch
Configuration file: C:/Users/Michael/Dropbox/Projects/Organizations/TEDxUofW/tedxuofw-website/tedxuofw-website/_config.yml
            Source: C:/Users/Michael/Dropbox/Projects/Organizations/TEDxUofW/tedxuofw-website/tedxuofw-website
       Destination: C:/Users/Michael/Dropbox/Projects/Organizations/TEDxUofW/tedxuofw-website/tedxuofw-website/_site
      Generating...
                    done.
I, [2014-06-18T16:34:09.934932 #8420]  INFO -- : Celluloid loglevel set to: 1
I, [2014-06-18T16:34:10.208203 #8420]  INFO -- : Record.build took 0.2130570411682129 seconds

Interestingly, at one point, I received the below error. I tried reproducing it, but got the above again. Given that the output appears to be somewhat unpredictable (at least for me), and that we're forking processes, I'm wondering if this is a race condition of some sort?

C:\Users\Michael\Dropbox\Projects\Organizations\TEDxUofW\tedxuofw-website\tedxuofw-website>bundle exec jekyll serve --watch
Configuration file: C:/Users/Michael/Dropbox/Projects/Organizations/TEDxUofW/tedxuofw-website/tedxuofw-website/_config.yml
            Source: C:/Users/Michael/Dropbox/Projects/Organizations/TEDxUofW/tedxuofw-website/tedxuofw-website
       Destination: C:/Users/Michael/Dropbox/Projects/Organizations/TEDxUofW/tedxuofw-website/tedxuofw-website/_site
      Generating...
                    done.
Configuration file: C:/Users/Michael/Dropbox/Projects/Organizations/TEDxUofW/tedxuofw-website/tedxuofw-website/_config.yml
    Server address: http://0.0.0.0:4000/
C:/Ruby193/lib/ruby/gems/1.9.1/gems/jekyll-2.0.3/lib/jekyll/commands/serve.rb:48:in `fork': fork() function is unimplemented on this machine (NotImplementedError)
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/jekyll-2.0.3/lib/jekyll/commands/serve.rb:48:in `process'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/jekyll-2.0.3/lib/jekyll/commands/serve.rb:24:in `block (2 levels) in init_with_program'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/mercenary-0.3.3/lib/mercenary/command.rb:220:in `call'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/mercenary-0.3.3/lib/mercenary/command.rb:220:in `block in execute'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/mercenary-0.3.3/lib/mercenary/command.rb:220:in `each'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/mercenary-0.3.3/lib/mercenary/command.rb:220:in `execute'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/mercenary-0.3.3/lib/mercenary/program.rb:35:in `go'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/mercenary-0.3.3/lib/mercenary.rb:22:in `program'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/jekyll-2.0.3/bin/jekyll:18:in `
<top (required)>'
        from C:/Ruby193/bin/jekyll:23:in `load'
        from C:/Ruby193/bin/jekyll:23:in `<main>'

When using Jekyll 2.0.3, I get the following:

C:\Users\Michael\Dropbox\Projects\Organizations\TEDxUofW\tedxuofw-website\tedxuofw-website>bundle exec jekyll serve --watch
Configuration file: C:/Users/Michael/Dropbox/Projects/Organizations/TEDxUofW/tedxuofw-website/tedxuofw-website/_config.yml
            Source: C:/Users/Michael/Dropbox/Projects/Organizations/TEDxUofW/tedxuofw-website/tedxuofw-website
       Destination: C:/Users/Michael/Dropbox/Projects/Organizations/TEDxUofW/tedxuofw-website/tedxuofw-website/_site
      Generating...
                    done.
I, [2014-06-18T16:34:09.934932 #8420]  INFO -- : Celluloid loglevel set to: 1
I, [2014-06-18T16:34:10.208203 #8420]  INFO -- : Record.build took 0.2130570411682129 seconds

Interestingly, at one point, I received the below error. I tried reproducing it, but got the above again. Given that the output appears to be somewhat unpredictable (at least for me), and that we're forking processes, I'm wondering if this is a race condition of some sort?

C:\Users\Michael\Dropbox\Projects\Organizations\TEDxUofW\tedxuofw-website\tedxuofw-website>bundle exec jekyll serve --watch
Configuration file: C:/Users/Michael/Dropbox/Projects/Organizations/TEDxUofW/tedxuofw-website/tedxuofw-website/_config.yml
            Source: C:/Users/Michael/Dropbox/Projects/Organizations/TEDxUofW/tedxuofw-website/tedxuofw-website
       Destination: C:/Users/Michael/Dropbox/Projects/Organizations/TEDxUofW/tedxuofw-website/tedxuofw-website/_site
      Generating...
                    done.
Configuration file: C:/Users/Michael/Dropbox/Projects/Organizations/TEDxUofW/tedxuofw-website/tedxuofw-website/_config.yml
    Server address: http://0.0.0.0:4000/
C:/Ruby193/lib/ruby/gems/1.9.1/gems/jekyll-2.0.3/lib/jekyll/commands/serve.rb:48:in `fork': fork() function is unimplemented on this machine (NotImplementedError)
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/jekyll-2.0.3/lib/jekyll/commands/serve.rb:48:in `process'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/jekyll-2.0.3/lib/jekyll/commands/serve.rb:24:in `block (2 levels) in init_with_program'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/mercenary-0.3.3/lib/mercenary/command.rb:220:in `call'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/mercenary-0.3.3/lib/mercenary/command.rb:220:in `block in execute'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/mercenary-0.3.3/lib/mercenary/command.rb:220:in `each'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/mercenary-0.3.3/lib/mercenary/command.rb:220:in `execute'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/mercenary-0.3.3/lib/mercenary/program.rb:35:in `go'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/mercenary-0.3.3/lib/mercenary.rb:22:in `program'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/jekyll-2.0.3/bin/jekyll:18:in `
<top (required)>'
        from C:/Ruby193/bin/jekyll:23:in `load'
        from C:/Ruby193/bin/jekyll:23:in `<main>'
@Michael0x2a

This comment has been minimized.

Show comment
Hide comment
@Michael0x2a

Michael0x2a Jun 18, 2014

@tigefa4u -- At this point, I don't know if jekyll-assets is actually the problem. I'm getting the same error when I create a fresh jekyll site that does not use any plugins/was modified in any way. I don't know if Jekyll 1.2.1 would work for me anyways, since my site is using data files which I believe were added in version 1.3.0.

I checked, and Jekyll-assets actually does have support for Jekyll 2.0.x -- I just forgot to update my gemfile.lock file properly/didn't really know how to use bundler.

@tigefa4u -- At this point, I don't know if jekyll-assets is actually the problem. I'm getting the same error when I create a fresh jekyll site that does not use any plugins/was modified in any way. I don't know if Jekyll 1.2.1 would work for me anyways, since my site is using data files which I believe were added in version 1.3.0.

I checked, and Jekyll-assets actually does have support for Jekyll 2.0.x -- I just forgot to update my gemfile.lock file properly/didn't really know how to use bundler.

@prbaron

This comment has been minimized.

Show comment
Hide comment
@prbaron

prbaron Jun 19, 2014

Same problem for me.
I uninstall old versions of jekyll and installed jekyll 2.0.3 again. I typed

jekyll new my-project
jekyll serve -w

And no regeneration when I change a .html file. It is a fresh project, without plugin, meant to be used as a portfolio on GitHub, on the main branch.

It worked fine when I was on 1.4.3.

Configuration :
Mac OS 10.9.3
ruby 2.0.0p451 (2014-02-24 revision 45167) [universal.x86_64-darwin13]
jekyll 2.0.3

prbaron commented Jun 19, 2014

Same problem for me.
I uninstall old versions of jekyll and installed jekyll 2.0.3 again. I typed

jekyll new my-project
jekyll serve -w

And no regeneration when I change a .html file. It is a fresh project, without plugin, meant to be used as a portfolio on GitHub, on the main branch.

It worked fine when I was on 1.4.3.

Configuration :
Mac OS 10.9.3
ruby 2.0.0p451 (2014-02-24 revision 45167) [universal.x86_64-darwin13]
jekyll 2.0.3

@tigefa4u

This comment has been minimized.

Show comment
Hide comment
@tigefa4u

tigefa4u Jun 20, 2014

@Michael0x2a now tgfa-jekyll-assets set jekyll 1.3.1 version 💎

@Michael0x2a now tgfa-jekyll-assets set jekyll 1.3.1 version 💎

@rajsite

This comment has been minimized.

Show comment
Hide comment
@rajsite

rajsite Jul 31, 2014

I am also seeing the behavior on Windows 7 64-bit with --watch generating the site content and then quitting without any errors, etc. Using bundle exec jekyll serve will generate the site and run the server, but bundle exec jekyll serve --watch will generate the site and then quit (no server run).

The --watch flag was running correctly in Jekyll 1.5.1 (github-pages 20) prior to upgrading to Jekyll 2.2.0 (github-pages 21)

ruby 1.9.3p545 (2014-02-24) [i386-mingw32]
python 2.7.5 64-bit
node v0.10.29 64-bit

Steps:

mkdir temp
cd temp
gem install github-pages
gem install wdm
jekyll new .

create Gemfile with the following contents:

gem 'github-pages'
gem 'wdm'
bundle

See Gemfile.lock

bundle exec jekyll serve --watch

Notice: for 10x faster LSI support, please install http://rb-gsl.rubyforge.org/
Configuration file: E:/temp/temp/_config.yml
Source: E:/temp/temp
Destination: E:/temp/temp/_site
Generating...
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/posix-spawn-0.3.8/lib/posix/spawn.rb:162: warning: cannot close fd before spawn
'which' is not recognized as an internal or external command, operable program or batch file.
done.

Clarifications while editing:
I have noticed two different behaviors. If I create a brand new jekyll site as shown above, I will get the warning message shown and lack of running server if a _site folder exists. If I delete the _site folder before running serve then the server will show the warning, but still start and watch correctly.

When I use an existing site that worked with an older version of Jekyll I do not get the spawn warning but the site will never run the server with the watch flag set (regardless of whether the _site folder is deleted and with identical _config.yml).

rajsite commented Jul 31, 2014

I am also seeing the behavior on Windows 7 64-bit with --watch generating the site content and then quitting without any errors, etc. Using bundle exec jekyll serve will generate the site and run the server, but bundle exec jekyll serve --watch will generate the site and then quit (no server run).

The --watch flag was running correctly in Jekyll 1.5.1 (github-pages 20) prior to upgrading to Jekyll 2.2.0 (github-pages 21)

ruby 1.9.3p545 (2014-02-24) [i386-mingw32]
python 2.7.5 64-bit
node v0.10.29 64-bit

Steps:

mkdir temp
cd temp
gem install github-pages
gem install wdm
jekyll new .

create Gemfile with the following contents:

gem 'github-pages'
gem 'wdm'
bundle

See Gemfile.lock

bundle exec jekyll serve --watch

Notice: for 10x faster LSI support, please install http://rb-gsl.rubyforge.org/
Configuration file: E:/temp/temp/_config.yml
Source: E:/temp/temp
Destination: E:/temp/temp/_site
Generating...
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/posix-spawn-0.3.8/lib/posix/spawn.rb:162: warning: cannot close fd before spawn
'which' is not recognized as an internal or external command, operable program or batch file.
done.

Clarifications while editing:
I have noticed two different behaviors. If I create a brand new jekyll site as shown above, I will get the warning message shown and lack of running server if a _site folder exists. If I delete the _site folder before running serve then the server will show the warning, but still start and watch correctly.

When I use an existing site that worked with an older version of Jekyll I do not get the spawn warning but the site will never run the server with the watch flag set (regardless of whether the _site folder is deleted and with identical _config.yml).

@rajsite

This comment has been minimized.

Show comment
Hide comment
@rajsite

rajsite Jul 31, 2014

If you see this on Win 7 and need a a hacky workaround for now you can use the following script: jekyllpollingwatch.bat.

rajsite commented Jul 31, 2014

If you see this on Win 7 and need a a hacky workaround for now you can use the following script: jekyllpollingwatch.bat.

@flowersinthesand

This comment has been minimized.

Show comment
Hide comment
@flowersinthesand

flowersinthesand Jul 31, 2014

I'm experiencing the same problem while upgrading github-pages 20 (jekyll 1.5.1) to 21(jekyll 2.2.0).

'which' is not recognized as an internal or external command, operable program or batch file.
done.

This error is fixed after I made python2.exe by copy and paste from python.exe.

I'm experiencing the same problem while upgrading github-pages 20 (jekyll 1.5.1) to 21(jekyll 2.2.0).

'which' is not recognized as an internal or external command, operable program or batch file.
done.

This error is fixed after I made python2.exe by copy and paste from python.exe.

@rajsite

This comment has been minimized.

Show comment
Hide comment
@rajsite

rajsite Jul 31, 2014

Duplicating the python.exe to python2.exe for python 2.7.5 64-bit did not prevent the 'which' error on my box :/

Tried two more configurations on Windows 7 64-bit and jekyll 2.2.0 (github-pages 21) with one success. Summary of all configurations:

  1. Ruby 1.9.3: The site is generated but the server does not start. Warning on new projects but not on old, otherwise no error
  2. Ruby 2 32-bit: I start seeing an existing yajl error, but I did not try going down the rabbit hole.
  3. Ruby 2 64-bit: The server starts and the --watch option works correctly. I still get the 'which' error and now I get a new deprecation warning for DL as follows:
E:\tempjekyll>bundle exec jekyll serve --watch
DL is deprecated, please use Fiddle
Notice: for 10x faster LSI support, please install http://rb-gsl.rubyforge.org/
Configuration file: E:/tempjekyll/_config.yml
            Source: E:/tempjekyll
       Destination: E:/tempjekyll/_site
      Generating...
C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/posix-spawn-0.3.8/lib/posix/spawn.rb:162
: warning: cannot close fd before spawn
'which' is not recognized as an internal or external command,
operable program or batch file.
                    done.
 Auto-regeneration: enabled for 'E:/tempjekyll'
Configuration file: E:/tempjekyll/_config.yml
    Server address: http://0.0.0.0:4000/
  Server running... press ctrl-c to stop.

At least I can --watch again! 😃

rajsite commented Jul 31, 2014

Duplicating the python.exe to python2.exe for python 2.7.5 64-bit did not prevent the 'which' error on my box :/

Tried two more configurations on Windows 7 64-bit and jekyll 2.2.0 (github-pages 21) with one success. Summary of all configurations:

  1. Ruby 1.9.3: The site is generated but the server does not start. Warning on new projects but not on old, otherwise no error
  2. Ruby 2 32-bit: I start seeing an existing yajl error, but I did not try going down the rabbit hole.
  3. Ruby 2 64-bit: The server starts and the --watch option works correctly. I still get the 'which' error and now I get a new deprecation warning for DL as follows:
E:\tempjekyll>bundle exec jekyll serve --watch
DL is deprecated, please use Fiddle
Notice: for 10x faster LSI support, please install http://rb-gsl.rubyforge.org/
Configuration file: E:/tempjekyll/_config.yml
            Source: E:/tempjekyll
       Destination: E:/tempjekyll/_site
      Generating...
C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/posix-spawn-0.3.8/lib/posix/spawn.rb:162
: warning: cannot close fd before spawn
'which' is not recognized as an internal or external command,
operable program or batch file.
                    done.
 Auto-regeneration: enabled for 'E:/tempjekyll'
Configuration file: E:/tempjekyll/_config.yml
    Server address: http://0.0.0.0:4000/
  Server running... press ctrl-c to stop.

At least I can --watch again! 😃

rajsite added a commit to rajsite/lovinglearningpreschool that referenced this issue Jul 31, 2014

Updated to Ruby 2 64-bit to enable server watch
Upgrading to github-pages 21 with Ruby 1.9.3 prevented the --watch flag
from functioning. Upgrading to Ruby 2 64-bit prevented the behavior. See
jekyll/jekyll#2529

@parkr parkr closed this Jul 31, 2014

@Michael0x2a

This comment has been minimized.

Show comment
Hide comment
@Michael0x2a

Michael0x2a Aug 1, 2014

I just tested rajsite's suggestion to use Ruby 2 (64-bit), and can confirm that Jekyll is now working correctly again! Thanks!

Also, to save others the trouble of googling -- It looks like the DL/Fiddler warning is a pre-existing issue with Ruby 2 on Windows and can be safely ignored. I'm not sure about the other warnings, but they don't seem to interfere with Jekyll as best as I can tell.

I just tested rajsite's suggestion to use Ruby 2 (64-bit), and can confirm that Jekyll is now working correctly again! Thanks!

Also, to save others the trouble of googling -- It looks like the DL/Fiddler warning is a pre-existing issue with Ruby 2 on Windows and can be safely ignored. I'm not sure about the other warnings, but they don't seem to interfere with Jekyll as best as I can tell.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.