Having become nearly ubiquitous thanks to GitHub Pages, Jekyll is something I’ve had to put up with often enough that I’ve developed a number of strategies to avoid polluting my system with brittle Ruby gems over the years.
These days I tend to use
bundler, but even that is fraught with breakage and all too frequent corner cases. Still, one manages…
Here is my typical setup:
source 'https://rubygems.org' gem 'github-pages'
# You should have bundler installed (sudo gem install bundler on vanilla OSX) # On Yosemite, brew install libxml2 libxslt is your friend, too. # On Windows/Cygwin, you need to make sure these are installed: # - ruby-bundler # - libffi-devel # - libgmp-devel # - libxml2-devel # - libxslt-devel # - libiconv-devel # ...and that your PATH includes ~/bin. # A clean install might need these: # zlib-devel openssl openssl-devel libyaml-devel libyaml0_2 sqlite3 make libtool gcc-core autoconf automake bison m4 mingw64-i686-gcc mingw64-x86_64-gcc cygwin32-readline libffi6 libffi-devel cygwin32-libffi pkg-config python curl patch bash-completion libcrypt-devel git openssh python-libxml2 python-lxml python-libxslt vim vim-commonset wget libreadline7 libreadline-devel # Prior to March 2015, nokogiri 18.104.22.168 needed to be installed before the bundle like this: # gem install nokogiri -- --use-system-libraries --with-xml2-include=/usr/include/libxml2 --with-xml2-lib=/usr/lib --with-xslt-dir=/usr/include/libxslt --with-iconv-include=/usr/include --with-iconv-lib=/usr/lib deps: bundle install serve: bundle exec jekyll serve --watch