由于之前octopress博客是在公司的机器上搭的,想到在家里笔记本上的win7也搞一个环境,方便及时写写技术博客。参考网文《【像黑客一样写博客之五】博客克隆》进行摸索,终于实践成功。

但我的方法稍微有点区别,这里采用clone的方式比较快,主要省去一个remote add环节:)只要主要注意几个问题,就可以轻松搞定,顺序看就行。

##环境篇: 这个可以参考大多数搭建octopress博客的文章了,这里一笔带过,之把出现的问题记一笔方便日后查阅。

问题1(ruby的版本)

当我装到bundle install的时候,出现了如下问题

An error occurred while installing rdiscount (2.0.7.3), and Bundler cannot continue.

查阅README.markdown Note: Octopress requires a minimum Ruby version of 1.9.3-p0. 原来需要安装ruby1.9.3。 (2016-07-25 注:ubuntu上的octopress现在只要1.91也是可以的了)

问题2 (在装完devkit之前utf-8环境变量不要设置)

而安装ruby1.9.3,相应需要安装DevKit-tdm-32-4.5.2-20111229-1559-sfx.exe 直接解压到e:\devkit 然后再

1
2
3
cd e:\devkit
ruby dk.rb init
C:/Ruby193/lib/ruby/1.9.1/win32/registry.rb:173:in `tr': invalid byte sequence in UTF-8 (ArgumentError)

原来是环境变量不能先设置为UTF-8,这个是要特别注意的。

然后就可以执行devkit的安装了:

1
2
ruby dk.rb init
ruby dk.rb install

接着设置环境变量(win7可以用开始搜索程序和文件,输入编辑系统环境变量):

1
2
LANG=zh_CN.UTF-8
LC_ALL=zh_CN.UTF-8

继续安装2个必要的gem(rdoc和bundler),注意bundle install的时候要进入octopress的目录,因为其中的Gemfile文件是要被读取的,否则会报错 could not locate gemfile

1
2
gem install rdoc bundler
bundle install

这样开发环境就算和之前一致了,这里没有说git的安装,和网上说的没有特别之处,反正装完了需要把git/bin目录加到环境变量PATH中去。 (2016-07-25 在ubuntu上如果报错,An error occured while installing RedCloth (4.2.9),可以sudo apt-get install ruby1.9.1-full,再执行以下语句,然而由于国内对ruby网站做了限制,建议先加入taobao的ruby镜像)

1
2
3
4
5
cd octopress/
sudo gem install bundler
sudo gem install RedCloth -v '4.2.9'
bundle install
rake install

博客恢复篇

签出自己的octopress项目,我的放在e:\octopress

1
2
3
4
5
6
7
8
9
10
cd e:\octopress\
git clone git@github.com:you/you.github.com.git
git config --global user.email "you@example.com"
git config --global user.name "Your Name"
git config --global http.proxy 'socks5://127.0.0.1:1080'
cd you.github.com
git checkout source
rake setup_github_pages
cd _deploy
git pull origin master

设置git config –global http.proxy ‘socks5://127.0.0.1:1080’ 是因为国内的网络环境(你懂的)
所有的资料都从远程origin仓库的master分支取回来了!
(注意如果出现setup_github_pages不能用的话,可能要把ruby软链接下,见下图)

Alt text

然后切记切换回source分支,因为master分支的是octopress通过rake部署自动提交进行维护的。

1
2
cd ..
git checkout source

再次rake generate和rake preview以及rake deploy发现已经可以发布了,最后还需要把相关的提交了,git add . 和git commit -a以及git push origin source

最后注意游走在不同的octopress博客环境处理博客之前,需要同步github仓库的数据

1
2
3
4
cd e:\octopress\you.github.com
git pull origin source 
cd _deploy
git pull origin master

参考链接

《淘宝ruby镜像站》 https://ruby.taobao.org/

《stackoverflow的octopress安装提问帖》 http://stackoverflow.com/questions/12119138/failed-to-build-gem-native-extension-when-install-redcloth-4-2-9-install-linux

发表评论