debian安装jekyll

本文详细记录了在Debian上安装Jekyll的全过程,包括安装Ruby、Node.js,以及解决Ruby版本问题、更换Gem源、安装Jekyll和解决运行时的JavaScript运行时错误。还介绍了如何创建Gemfile和使用bundle管理gem依赖,以及遇到的常见错误及解决方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

安装之前,可以先翻阅官方网站上的安装方法

根据官方文档的说明,前期准备需要:

Ruby (including development headers)
RubyGems
Linux, Unix, or Mac OS X
NodeJS, or another JavaScript runtime (for CoffeeScript support).

下面将记录整个安装过程:

安装ruby

第一套安装方案

$ apt-get install ruby1.9.3

安装成功后可用以下命令查看ruby 和 gem 的版本号

$ ruby -v
$ gem -v

如果安装后发现版本不对,比如github-pages 要求ruby版本要大于2.0等,可以采用:

$ apt-get remove ruby

来进行卸载,但可能提示你说卸载不干净,要手动卸载一堆乱七八糟的已经不再会被使用到的东西。这个时候你可以运行

$ apt-get autoremove 

来删除所有的多余软件包,正常卸载后应该不再有gem和ruby的命令了。

第二套安装方案

如果怎么样也找不到ruby 大于等于2.0的版本,可采用RVM的方式来安装ruby。

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

安装rvm

$ curl -L get.rvm.io | bash -s stable

如果安装失败,请注意提示。如果失败原因是不信任软件包,则用它提示的gpg命令来获取该软件包的密钥,之后再尝试curl命令来安装rvm软件包

列出可安装的ruby版本

$ rvm list known

根据需要,我将安装并使用2.2.1版本(建议不要使用ruby-head,那下载和安装速度会让你后悔当初为什么脑子进水的)

$ rvm install 2.2.1 #安装2.2.1版本的ruby
$ rvm use 2.2.1 --default #将它设置为默认版本

恭喜,ruby安装成功。

下面给出rvm一些可能用得上的命令

$ rvm list #列出已安装的ruby版本
$ rvm remove ruby-head #指定并卸载已安装的ruby版本
$ rvm implode #自爆

指定gem的软件源

根据网络上的推荐,我使用了 taobao的源,但在使用gem安装jekyll的过程中会一直刷404等错误。

经过多番磨难我才发现,网络上教程中的”https://rubygems.org/” 源其实没被墙,所以我又把源改成了官网的源。

下面附上更改源的方法:
(假设源已经改成了http://ruby.taobao.org/ ,想改回https://rubygems.org/

$ gem sources --remove https://ruby.taobao.org/ #移除源
$ gem sources -a https://rubygems.org/ #添加源
$ gem sources -l #查看已经添加的源

请注意,安装ruby后,gem默认的源就是官方的源

安装node.js

假设越过此步骤直接安装jekyll并在本地网页目录下直接运行jekyll server,会报一个错误,大体如下:

Could not find a JavaScript runtime.

这个问题可以通过安装node.js 来解决

依旧可以先参阅一些安装文档再来回味其中的坑。

选择并下载最新版本node.js源码(源码都在http://nodejs.org/dist/,请自选)

wget http://nodejs.org/dist/node-latest.tar.gz

解压并检查环境

 $ tar -zxvf node-latest.tar.gz #解压
 $  cd node-v0.12.2/
 $ ./configure #检查环境

如果通过检查,则可进行安装

$ make && make install
$ node -v #检查是否安装成功

如果要卸载,请在node-v0.12.2目录下执行:

$ make uninstall

安装jekyll

不得不说,这是一个比较蛋疼的工作,好在github-pages考虑到了这点,对需要的软件打了个包。

安装jekyll

$ gem install github-pages #目前要求ruby版本要>=2.0

github pages的文档中使用到了bundle,其实不用bundle也是可以的,看个人选择。我选择使用bundle,但不知道为什么我为什么这么命苦,连bundle也报错:

-bash: /usr/bin/bundle: /usr/bin/ruby1.9.1: bad interpreter: No such file or directory

懒得去慢慢给它设置环境变量,直接重新安装新的:

$ gem install bundler #安装bundler

要是连这都失败了,那么恭喜,使用rvm的“自爆”,重新换个版本的ruby吧。

Q:bundle是什么?
A:Bundle用来管理项目中所有gem依赖

在本地网站的根目录里头添加Gemfile文件,内容为:

source ‘https://rubygems.org
gem ‘github-pages’

以后在此目录下执行
(默认参数就是gemfile里的内容,这就是建立gemfile文件并写入两行字的原因)

$ bundle install #安装
$ bundle update #更新

在安装的过程中,我出现了这个错误:

Bundler::GemspecError: Could not read gem at /usr/local/rvm/gems/ruby-head/cache/html-pipeline-1.9.0.gem. It may be corrupted.

解决办法就是执行:

$rm -f /usr/local/rvm/gems/ruby-head/cache/html-pipeline-1.9.0.gem

如果到了这里都没问题的话,恭喜你,jekyll安装好了!

运行jekyll

$ bundle exec jekyll serve #运行jekyll服务器

当有提示你可以从http://0.0.0.0:4000打开网页的时候,就已经大功告成了!

对于如何创建网站,请参见jekyll中文文档,另外,网上有大量主题,大家可以用上。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值