/--- date: 2014-10-22 23:22:35 +0800 categories: 技术 ---/

搭建Octopress环境

之前在 openSUSE 环境下搭建了 Octopress 环境,现在 win7 下利用 virtualbox 虚拟了一台 centos,想着把 Octopress 的环境也搭建起来。以为会很顺利,但却仍遇到些许问题,记录如下。

根据 octopress安装步骤,需安装1.9.3以上版本,在我的虚机centos(以下简称centos)上执行sudo yum install ruby后,显示安装版本为1.8.7,不符合需求,故不得不从ruby官网上下载源码,编译安装(最新的稳定版2.1.3)。

使用以下命令下载源码包,解压,进入目录,

$ curl -O http://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.3.tar.gz
$ tar -zxvf ruby-2.1.3.tar.gz
$ cd ruby-2.1.3

根据README文件的指示,编译安装。

$ autoconf
$ ./configure
$ make
$ make check # 这一步不是必须的
$ sudo make install
$ ruby -v # 查看安装的版本号
$ git clone git@github.com:ssir/ssir.github.io.git
$ cd ssir.github.io
$ git status
$ git checkout source
$ git status
$ vim Gemfile # 查看安装源是否改为淘宝RubyGems镜像地址
$ sudo /usr/local/bin/gem install bundle
$ /usr/local/bin/bundle install
$ 
$ rake generate

执行到这里是,提示“Could not find a JavaScript runtime”根据提示安装 execjs后,重新执行,还是错误,网上搜到如下解决办法,执行后,问题不在 :)

$ sudo gem source
$ sudo gem sources --remove https://rubygems.org/
$ sudo gem sources -a http://ruby.taobao.org/
$ sudo gem source
$
$ sudo /usr/local/bin/gem install execjs
$ rake generate # 还是不行
$
$ sudo /usr/local/bin/gem install therubyracer
$ rake generate # 还是不行
$
$ sudo yum install nodejs
$ rake generate # ok了
$ rake preview
$ reke deploy # 发现无效果时,没有真正的完成推送,执行下面一条命令,重新设置一下github项目地址就可以了
$ rake setup_github_pages
$ rake deploy # 出现“non-fast-forward”错误时,可以执行以下命名强制执行一次,以后便正常了
$ cd _deploy
$ git push -f # 强制执行,进行覆盖
$ cd - # 再来一次
$ rake generate
$ rake deploy

注意,在执行

$ sudo gem sources --remove https://rubygems.org/
$ sudo gem sources -a http://ruby.taobao.org/

$ gem sources --remove https://rubygems.org/
$ gem sources -a http://ruby.taobao.org/

时,效果是不一样的,前者更新的软件源不会影响后者的,因为安装的时候需要相关权限,故需sudo,因此,需执行前者的命令,方能正确使用国内淘宝提供的RubyGems软件源镜像。本人安装时,发现这一点,特此说明。

(完)