Skip to content

Instantly share code, notes, and snippets.

@jonforums
Last active December 16, 2015 15:29
Show Gist options
  • Save jonforums/5456209 to your computer and use it in GitHub Desktop.
Save jonforums/5456209 to your computer and use it in GitHub Desktop.
jekyll's wasting my time
I run a patched 0.11.2 jekyll environment (patched posix-spawn) on my local win7 box because of
breaking changes the devs made in the past that impact windows users. Hard to tell if they even
tested on windows boxes before pushing. Perhaps things are different with the recent commit activity.
And no time to confirm whether they're doing the right things for jekyll-on-windows users, or just
hoping all the recent commits for all the dependencies Just Work.
After a long hiatus, I just pushed a post (worked on my local 0.11.2 jekyll setup) about Go's
fantastic cross-build capabilities and was rewarded with this exciting email from GH:
Subject: [jonforums.github.com] Page build failure
Date: Wed, 24 Apr 2013 14:50:50 -0700
The page build failed with the following error:
page build failed
For information on troubleshooting Jekyll see https://help.github.com/articles/using-jekyll-with-pages#troubleshooting
If you have any questions please contact GitHub Support.
Amazing. The phrase you're searching for is...Can this be any less fk'n helpful!?
Even though the Go post displayed perfectly on my local system, perhaps I did punt the syntax and
it's my fault. But *no one* will ever know from that pathetic error message.
Fine. Time to find out what new ways jekyll has found to break things on my windows box. Or discover
I've got a really bad attitude toward jekyll. The help docs say GH is using jekyll `=0.12.0` so let's
try a fresh install of the GH configuration:
C:\>gem i jekyll --version 0.12.0
Fetching: liquid-2.5.0.gem (100%)
Successfully installed liquid-2.5.0
Temporarily enhancing PATH to include DevKit...
Building native extensions. This could take a while...
Successfully installed fast-stemmer-1.0.2
Fetching: classifier-1.3.3.gem (100%)
Successfully installed classifier-1.3.3
Fetching: directory_watcher-1.5.1.gem (100%)
Successfully installed directory_watcher-1.5.1
Fetching: syntax-1.0.0.gem (100%)
Successfully installed syntax-1.0.0
Fetching: maruku-0.6.1.gem (100%)
Successfully installed maruku-0.6.1
Fetching: kramdown-0.13.8.gem (100%)
Successfully installed kramdown-0.13.8
Fetching: yajl-ruby-1.1.0-x86-mingw32.gem (100%)
Successfully installed yajl-ruby-1.1.0-x86-mingw32
Fetching: posix-spawn-0.3.6.gem (100%)
Building native extensions. This could take a while...
Successfully installed posix-spawn-0.3.6
Fetching: pygments.rb-0.3.7.gem (100%)
Successfully installed pygments.rb-0.3.7
Fetching: jekyll-0.12.0.gem (100%)
Successfully installed jekyll-0.12.0
11 gems installed
Great, no install errors. I know, I know, you're asking the same questions I am like
"11 gems to install to get jekyll working?" and "What's this posix-spawn gem doing getting
installed on my windows box?"
But no matter, lets test out the new post and find out what's wrong
C:\Users\Jon\Documents\WebDev\jonforums.github.com>jekyll --server 8080
C:/ruby200/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require': cannot load such file -- yajl/2.0/yajl (LoadError)
from C:/ruby200/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require'
from C:/ruby200/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0-x86-mingw32/lib/yajl/yajl.rb:2:in `<top (required)>'
Great, jekyll'd again! Well not quite. Did you catch the real error? It's our good friend yajl-ruby
choking on ruby 2.0.0 on windows because it's binary gem only provides 1.8 and 1.9 pieces and
hasn't yet upgraded to support 2.0.0.
OK, another time wasting setup when I-JUST-WANTED-TO-PUSH-A-SIMPLE-POST. Dammit.
Breathe....
I don't want to pollute my ruby 1.9.3 install (with patched jekyll 0.11.2 env) by trying to install
jekyll 0.12.0, so let's try this:
C:\>gem i yajl-ruby --platform=ruby
Fetching: yajl-ruby-1.1.0.gem (100%)
Temporarily enhancing PATH to include DevKit...
Building native extensions. This could take a while...
Successfully installed yajl-ruby-1.1.0
1 gem installed
C:\Users\Jon\Documents\WebDev\jonforums.github.com>jekyll --safe --server 8080
Configuration from C:/Users/Jon/Documents/WebDev/jonforums.github.com/_config.yml
Building site: C:/Users/Jon/Documents/WebDev/jonforums.github.com -> C:/Users/Jon/Document
s/WebDev/jonforums.github.com/_site
Successfully generated site: C:/Users/Jon/Documents/WebDev/jonforums.github.com -> C:/User
s/Jon/Documents/WebDev/jonforums.github.com/_site
[2013-04-24 18:59:02] INFO WEBrick 1.3.1
[2013-04-24 18:59:02] INFO ruby 2.0.0 (2013-04-23) [i386-mingw32]
[2013-04-24 18:59:02] INFO WEBrick::HTTPServer#start: pid=1332 port=8080
Red - - [24/Apr/2013:19:06:35 Eastern Daylight Time] "GET / HTTP/1.1" 200 133919 - -> /
Red - - [24/Apr/2013:19:06:36 Eastern Daylight Time] "GET /css/syntax.css HTTP/1.1" 200 3264
http://localhost:8080/ -> /css/syntax.css
...
OK, this looks about right and the page displayed correctly. So why is GH failing to build? Do I
have a file in my local repo that didn't get committed to my GH repo? Something else?
C:\>gem out
jekyll (0.12.0 < 0.12.1)
pygments.rb (0.3.7 < 0.5.0)
Let's bump jekyll and friends to the latest versions and try again. Perhaps the GH doco is outdated
and GH is running with jekyll 0.12.1 and newer friends and things are failing.
C:\>gem up jekyll pygments.rb
Updating installed gems
Updating jekyll
Fetching: kramdown-0.14.2.gem (100%)
Successfully installed kramdown-0.14.2
Fetching: jekyll-0.12.1.gem (100%)
Successfully installed jekyll-0.12.1
Updating pygments.rb
Fetching: pygments.rb-0.5.0.gem (100%)
Successfully installed pygments.rb-0.5.0
Gems updated: kramdown jekyll pygments.rb
Survey says!?
C:\Users\Jon\Documents\WebDev\jonforums.github.com>jekyll --version
Jekyll 0.12.1
C:\Users\Jon\Documents\WebDev\jonforums.github.com>jekyll --safe --server 8080
Configuration from C:/Users/Jon/Documents/WebDev/jonforums.github.com/_config.yml
Building site: C:/Users/Jon/Documents/WebDev/jonforums.github.com -> C:/Users/Jon/Documents/WebDev/jonforums.github.com/_site
Successfully generated site: C:/Users/Jon/Documents/WebDev/jonforums.github.com -> C:/Users/Jon/Documents/WebDev/jonforums.github.com/_site
[2013-04-24 19:49:50] INFO WEBrick 1.3.1
[2013-04-24 19:49:50] INFO ruby 2.0.0 (2013-04-23) [i386-mingw32]
[2013-04-24 19:49:50] INFO WEBrick::HTTPServer#start: pid=2756 port=8080
Red - - [24/Apr/2013:19:50:01 Eastern Daylight Time] "GET / HTTP/1.1" 200 133919- ->
Nope. All runs well and looks well with the latest goodies. Something else is happening :(
...TO BE CONTINUED
@RossRogers
Copy link

Attempting to use jekyll on Windows is my first experience with using Ruby infrastructure and package management and it is leaving a bad taste in my mouth, which is why I found this page. Per this question on stackoverflow and this ticket, it appears that yajl isn't support on version 2.0* of Ruby.

@factormystic
Copy link

I just found this gist while googling around trying to figure out why the example starter snippet on http://jekyllrb.com/ wasn't working.

Conclusion: still broken

@rdquintas
Copy link

I'm trying to begin my quest on static-blog-websites.... but struggling to launch any as well.
Jekyll doesn't seems to work properly (or at all) with windows+ruby 2.0.
Octopress was another nigthmare to install.
Guess I will return to wordpress after all...
:o(

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