Octopress 在 Arch Linux 下的一些問題

2013年04月07日 (Shadow Ma)

因爲一直使用系統提供的 Ruby,隨着 Arch Linux 將系統的 Ruby 版本升級到了 2.0,Octopress 就沒法正常使用,嘗試了 AUR 上的 ruby1.9 也有很多問題,因此決定爲 Octopress 設定一個專用的 Ruby 環境,Ruby 的多版本管理工具我選擇了 rbenv,關於 rbenv 的詳細使用說明可以參照項目主頁的說明文檔或是 Ruby China Wiki 上的使用指南,當然你也可以選擇使用 RVM 管理 Ruby 版本。

雖然 AUR 上有提供 rbenv,但強烈建議安裝到用戶目錄就好,安裝:

git clone git://github.com/sstephenson/rbenv.git ~/.rbenv

推薦安裝的插件:

git clone git://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build # 用來編譯安裝 Ruby
git clone git://github.com/sstephenson/rbenv-gem-rehash.git ~/.rbenv/plugins/rbenv-gem-rehash # 通過 gem 命令安裝完 gem 後無需手動執行 rbenv rehash 命令

設置環境變量:

echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> $HOME/.bashrc
echo 'eval "$(rbenv init -)"' >> $HOME/.bashrc

重新登錄終端就能使用 rbenv 了,使用 rbenv 安装需要的 Ruby 版本:

cd octopress # 切換到 Octopress 目錄
rbenv install $(cat .rbenv-version)

因爲是編譯安裝所以需要一些時間,安裝完成後可以設置爲 rbenv 默認使用的 Ruby 版本:

rbenv global $(cat .rbenv-version)

也可以在使用 Octopress 時才爲當前 Shell 設置 Ruby 版本:

rbenv shell $(cat .rbenv-version)

安裝 Octopress 所需的 gem:

rbenv exec gem install bundler
rbenv exec bundle install
rbenv rehash # 每當切換 Ruby 版本和執行 bundle install 之後必須執行該命令

至此 Octopress 所需的 Ruby 環境就設置完成,但除此之外 Arch Linux 下還存在一個 Python 版本的問題,因爲 Octopress 使用 Pygments 來高亮代碼,而 Pygments 不支持 Archlinux 默認提供的 Python 3.x,之前我參照 Ruby China 的帖子解決了這個問題,但非包管理創建的系統文件總讓人感覺不爽,現在找到了更好的方法就是使用 python-virtualenvwrapper 創建虛擬的 Python 環境

sudo pacman -S python-virtualenvwrapper
export WORKON_HOME=$HOME/.virtualenvs
mkdir -p $WORKON_HOME
source /usr/bin/virtualenvwrapper.sh
mkvirtualenv -p /usr/bin/python2.7 --distribute blog_env

使用 workon blog_env 命令進入虛擬環境,使用 deactivate 命令退出,需要先執行 source /usr/bin/virtualenvwrapper.sh 才會有 workon 命令,建議將其加入 .bashrc

echo 'export WORKON_HOME=$HOME/.virtualenvs' >> ~/.bashrc
echo 'source /usr/bin/virtualenvwrapper.sh' >> ~/.bashrc

測試:

cd octopress
source /usr/bin/virtualenvwrapper.sh && workon blog_env	
rbenv shell $(cat .rbenv-version) && rbenv rehash # 如果已經把需要的 Ruby 版本設置爲默認就不需要這步了
rbenv exec rake generate

現在應該能正常使用 Octopress 了,以上。

參考資料

Steam for Linux 遊戲體驗 無題
點擊查看評論
返回首頁 返回頂部