jekyll 完整安装教程

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/joelcat/article/details/78642434

我的操作环境

阿里云 CentOS主机:

LSB Version:    :core-4.1-amd64:core-4.1-noarch
Distributor ID: CentOS
Description:    CentOS Linux release 7.4.1708 (Core) 
Release:    7.4.1708
Codename:   Core

1. 安装ruby(同时会自动安装gem)

有ruby者,跳过此步骤!
- 查看电脑是否有ruby

$ ruby -v
  • 安装
$ yum install ruby
  • 查看ruby版本
$ ruby -v

输出

ruby 2.0.0p648 (2015-12-16) [x86_64-linux]
  • jekyll 最新版要求 ruby 2.1或更高,所以更新ruby
  • 这里我使用rvm更新ruby
  • 安装rvm
$ gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
$ curl -sSL https://get.rvm.io | bash -s stable
$ source ~/.bashrc
$ source ~/.bash_profile
$ source /etc/profile.d/rvm.sh
  • 修改rvm 的镜像到国内
$ echo "ruby_url=https://cache.ruby-china.org/pub/ruby" > ~/.rvm/user/db

有可能提示没有哪个目录,可以忽略,我没找到解决方案, 不过阿里云就算是国外节点下载也很快

  • 安装Ruby 2.1

    jekyll 最新版要求 ruby 2.1或更高,所以更新到ruby 2.1


你还可以更新到更高 $ rvm list known 查看可以安装的版本
$ rvm install 2.1

如果在安装了新的ruby 之后导致gem 报错, 这是由于升级ruby的时候也升级了gem ,新版本的gem 要求的openssl 版本更高, 执行 $ yum update 或者 yum update openssl 即可解决

详细rvm 操作 教程地址

gem在中国不好使, 万能的中国Ruby社区给我们搭建了gem镜像
- 移除gem默认仓库地址并添加中国的仓库

$ gem sources --remove https://rubygems.org/
$ gem sources -a https://gems.ruby-china.org/

2.安装jekyll & 启动

  • 安装
$ gem install jekyll

很轻松就安装成功了 right ?
- 在当前目录创建一个博客目录,并进入到目录

$ jekyll new myblog
$ cd myblog
  • 启动我们的博客
$ jekyll serve
  • 如果不出意外, 启动是失败的, 错误信息应该类似于:
/usr/local/rvm/rubies/ruby-2.1.10/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- bundler (LoadError)
    from /usr/local/rvm/rubies/ruby-2.1.10/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /usr/local/rvm/gems/ruby-2.1.10/gems/jekyll-3.6.2/lib/jekyll/plugin_manager.rb:48:in `require_from_bundler'
    from /usr/local/rvm/gems/ruby-2.1.10/gems/jekyll-3.6.2/exe/jekyll:11:in `<top (required)>'
    from /usr/local/rvm/gems/ruby-2.1.10/bin/jekyll:23:in `load'
    from /usr/local/rvm/gems/ruby-2.1.10/bin/jekyll:23:in `<main>'
    from /usr/local/rvm/gems/ruby-2.1.10/bin/ruby_executable_hooks:15:in `eval'
    from /usr/local/rvm/gems/ruby-2.1.10/bin/ruby_executable_hooks:15:in `<main>'
  • 解决办法如下:
  • 安装bundle
$ gem install bundle
  • 再执行
$ bundle exec jekyll serve
  • 没错!还是报错, 内容大致如下
Could not find gem 'minima (~> 2.0)' in any of the gem sources listed in your Gemfile.
Run `bundle install` to install missing gems.

既然说gem 缺少minima (~> 2.0),我们安装不就得了
- 安装minima

$ gem install minima
  • 再次执行 $ bundle exec jekyll serve, 还是报错~,哈哈,错误内容如下
Could not find gem 'jekyll-feed (~> 0.6)' in any of the gem sources listed in your Gemfile.
Run `bundle install` to install missing gems.

好吧,还是缺少东西, 那么我们就缺少什么就安装什么呗~

$ gem install jekyll-feed
  • 再次执行 $ bundle exec jekyll serve, 输出
Configuration file: /usr/local/test/myblog/_config.yml
            Source: /usr/local/test/myblog
       Destination: /usr/local/test/myblog/_site
 Incremental build: disabled. Enable with --incremental
      Generating... 
                    done in 0.427 seconds.
 Auto-regeneration: enabled for '/usr/local/test/myblog'
    Server address: http://127.0.0.1:4000/
  Server running... press ctrl-c to stop.

我折腾了一个上午安装好, 写下这个笔记,希望能给需要帮助的人

下次启动的时候直接进入到你的博客目录, 然后执行 $ jekyll serve 即可

  • 让博客后台运行?
$ nohup jekyll serve &
  • 杀掉后台的博客?
$ ps -axu | grep jekyll

找到你启动的那个博客,然后 $ kill -9 [pid]

End

猜你喜欢

转载自blog.csdn.net/joelcat/article/details/78642434