首先!

为什么都用了这么久了的jekyll才想起来写什么安装小结?

都怪我又想起来这个快要被我荒废的blog了,看着上回发表的日志的时间已经是去年七月了!

这个一年平均发表不到十篇文章的blog还有存在的必要吗?看这以前我写的那写中二爆表的文章简直是无法直视啊!哎。好歹也是用了两年了的blog,别的地方用的可没有这么久,还是继续用下去吧!

于是就有了这篇安装小节,jekyll这个破玩意我装了不下十次了,不过每回居然都出现问题!真是!!
原来是在windows上装,结果非常蛋痛,一直就出现这个

invalid byte sequence in GBK

记得原来只要改convertible.rb

self.content = File.read(File.join(base, name)
改为  
self.content = File.read(File.join(base, name), :encoding => "utf-8")

但是呢?新版本貌似没有这句代码了,改成上面那样一直报错啊,怎么办呢?这时候就要问万能的google了

如果是 jekyll 1.3.0, 修改 …\jekyll-1.3.0\lib\jekyll\convertible.rb 文件

self.content = File.read_with_options(File.join(base, name), merged_file_read_opts(opts))

修改为

self.content = File.read_with_options(File.join(base, name), :encoding => “utf-8”)

修改

Ruby200-x64\lib\ruby\gems\2.0.0\gems\jekyll-0.12.0\lib\jekyll\tags\include.rb 文件

source = File.read(@file)

修改为
source = File.read(@file, :encoding => “utf-8”) 同样如果是 jekyll 1.3.0 如上类似修改。

出处:
http://kaiimeng.cn/my-first-octopress-blog/

结果呢?不行!!改了照样报错!于是砍掉重练,重新搭环境,又搞了几次还是不行!WTF!不知道究竟是哪里错了,在windows上搞这些就是自己给自己找问题,还都是无法解决的,错都不知道出到哪里。于是虚拟机走起,linux开装!但发现硬盘上连一个系统镜像都没有,真是的!又废了一个小时下了ubuntu12.04,开始装。。。。

看看linux装jekyll简直太简单,ruby直接自带,直接

gem install jekyll

就好了,多么棒!
结果呢?又出错了!提示:

ERROR: While executing gem ... (TypeError)
instance of Date needs to have method `marshal_load'

放狗搜了一下发现可能是ruby版本的问题,说是1.9.3可解,于是下了源码,编译。。。
这下可好,刚开始装没问题,但是装到一半又报错了,这东西到底还让不让人用了!

解决方案如下:

安装rvm > rvm是一个命令行工具,可以提供一个便捷的多版本ruby环境的管理和切换。

rvm安装

curl -L get.rvm.io | bash -s stable
source ~/.bashrc
source ~/.bash_profile

安装ruby2.1.0版本

rvm install 2.1.0

这里注意了!我手抖版本号多打了一个空格,提示
curl: (18) transfer closed with 4566640 bytes remaining to read Partial file(18). Only a part of the file was transferred. Removing partial and re-trying.
结果一直不断重复下载,等了快一小时才发现!

使用ruby2.1.0

rvm use 2.1.0

设置为默认版本

rvm use 2.1.0 --default

然后再gem install jekyll一下发现终于神奇的装好了,终于能用了!不容易!