5月换了新笔电,所有的东西都没有了。一直懒,也就重新搭建jekyll。昨天周末,闲来无事,又重新在win10的新机上搭了一次,吼吼吼。
这边尽量是正确的步骤,其实看起来没几步,但搭建的时候花了好几个小时,返工了好几次,果然我还是老的太快了,,哈哈
- 配置信息
- github
- 安装Devkit
- 安装Ruby
- 安装jekyll
- 问题集锦
配置信息
win10x64
github
github的操作不再多说,下载git客户端,生成密钥对,将公钥保存在github上,然后本机就可以直接clone项目啦
提交修改主要是以下几步
git add . //如果没有新加文件可以不用运行此句
git commit -am '描述内容'
git push (-u origin master) //括号中内容可加可不加
安装Devkit
这玩意我其实也不造有啥用,因为我第一次搭的时候没装,jekyll也跑的起来~~
官方地址:http://rubyinstaller.org/downloads/
官方到目前为止还能用,如果不幸和谐的话,可以去这里下载
下载适合自己pc的版本,安装的时候尽量安装在根目录下,且路径中不能含空格(这是人家的经验,借来用用)
安装Ruby
Ruby是安装jekyll必需的,jekyll需要gem,gem需要Ruby
官方地址:同样是http://rubyinstaller.org/downloads/
同上,官方到目前为止还能用,如果不幸和谐的话,可以去这里下载
下载最新的版本,同样在路径中不能含空格,并且勾选add to path
安装好后进cmd运行如下代码:
cd devkit \\将当前目录转移到devkit解压路径
ruby dk.rb init \\初始化Ruby
ruby dk.rb install`
然后运行ruby -v
,出现版本号则安装成功
安装jekyll
最关键也是摔跤最多的步骤!!
安装gem
可以到https://rubygems.org/下载合适的gem安装包及所需的功能包
-
gem -v
检查gem版本
-
gem update --system
更新gem
-
gem -v
检查gem版本
安装jekyll
gem install jekyll
安装jekylljekyll -v
安装成功之后,查看版本号
至此为止jekyll已经安装完毕,cmd切换至git项目目录,运行jekyll serve
,即可在本地localhost:4000进行编译预览
问题集锦
当然没这么简单,实际操作会遇到各种各样的问题~
Q1:jekyll版本不同导致启动本地服务时liquid语法报错
这个错误研究了一晚上,上图是jekyll 3.2.1版本下编译时的liquid报错,直到今早将两地环境做了对比才发现是jekyll版本导致的,下图是jekyll 3.1.3运行时
解决方法是卸载最新版,安装指定的jekyll版本
gem uninstall jekyll -v 3.2.1
gem install jekyll -v 3.1.3
Q2:启动服务时提示 Please add the following to your Gemfile to avoid polling for changes: gem 'wdm', '>= 0.1.0' if Gem.win_platform?
只要运行gem install wdm
即可(好吧这个其实不重要,不改也可以)
以下问题此次安装都没有发生,但是前几次是遇到的,所以还是贴出来
Q3:gem install jekyll后报错一
ERROR: Could not find a valid gem 'jekyll' (>= 0), here is why:
Unable to download data from https://rubygems.org/ - SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (https://rubygems.global.ssl.fastly.net/quick/Marshal.4.8/jekyll-1.3.0.gemspec.rz)
ERROR: Possible alternatives: jekyll
解决方法:
-
如果是windows用户,需要先安装curl
- 到这里下载文件curl-7.17.1-win32-ssl.zip,如果不需要使用ssl的话,可以直接下载 curl-7.17.1-win32-nossl.zip,为了便于以后请求https格式的网址,最好使用带ssl功能的。
- 在Windows下为了使用带ssl的curl命令,我们得安装OpenSSL,到这里下载Win32OpenSSL_Light-1_0_1h.exe,安装即可。
- 接下来打开cmd,切换到curl目录下,就可以直接使用curl命令了。
下载认证文件
curl http://curl.haxx.se/ca/cacert.pem -o cacert.pem
D:\Ruby200-x64>curl http://curl.haxx.se/ca/cacert.pem -o cacert.pem
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 223k 100 223k 0 0 82478 0 0:00:02 0:00:02 --:--:-- 94724
- 把生成在Ruby目录下的cacert.pem移动到里面的bin目录下
~ D:\workspace\ruby>mv cacert.pem D:\toolkit\Ruby200\bin
- 设置环境变量
Q4:gem install jekyll后报错二
ERROR: Error installing jekyll:
The 'fast-stemmer' native gem requires installed build tools.
Please update your PATH to include build tools or download the DevKit
from 'http://rubyinstaller.org/downloads' and follow the instructions
at 'http://github.com/oneclick/rubyinstaller/wiki/Development-Kit'
解决方法:安装好Devkit后,运行Devkit目录下的msys.bat后,然后输入gem install jekyll
来安装jekyll
Q5:Rubygems镜像源报错
因为官方镜像源https://rubygems.org/经常罢工,所以我们需要添加新的镜像源https://ruby.taobao.org
$ gem sources --add https://ruby.taobao.org/ --remove https://rubygems.org/
$ gem sources -l
*** CURRENT SOURCES ***
https://ruby.taobao.org
# 请确保只有 ruby.taobao.org
但上次发现淘宝的也玩不起来了,维护者在issue下有这样一段回复,原来是换新Gems源https://gems.ruby-china.org/了
$ gem sources --add https://gems.ruby-china.org/ --remove https://rubygems.org/
$ gem sources -l
https://gems.ruby-china.org
# 确保只有 gems.ruby-china.org
Q6:代码高亮
至于代码高亮包pygments,由于自2016起,github不再支持pygments,所以我们不再安装pygments包(其实也就不需要安装python和pip啦),而改用rouge高亮包