jekyll 完整安装教程

最后都变了- 提交于 2020-01-19 13:27:01

我的操作环境
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
有可能提示没有哪个目录,可以忽略,我没找到解决方案, 不过阿里云就算是国外节点下载也很快

(上述rmv步骤安装失败的看这里https://blog.csdn.net/wsjwoods/article/details/89737188)
在这里插入图片描述
1.安装rvm
gpg2 --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
curl -sSL https://get.rvm.io | bash -s stable

查看rvm安装路径

[root@bigdata-003 user]# find / -name rvm
/usr/local/rvm
/usr/local/rvm/scripts/rvm
/usr/local/rvm/bin/rvm
/usr/local/rvm/lib/rvm
/usr/local/rvm/src/rvm
/usr/local/rvm/src/rvm/scripts/rvm
/usr/local/rvm/src/rvm/bin/rvm
/usr/local/rvm/src/rvm/lib/rvm

发现在 /usr/local/rvm路径
并将/usr/local/rvm/bin添加到环境变量中

修改 RVM 的 Ruby 安装源到 Ruby China 的 Ruby 镜像服务器,这样能提高安装速度
echo “ruby_url=https://cache.ruby-china.com/pub/ruby” > /usr/local/rvm/user/db
这里的 > /usr/local/rvm/user/db 路径为上一步查找到的rvm路径下的user/db

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

你还可以更新到更高 $ rvm list known 查看可以安装的版本(这里我查看过后用的2.6)
$ rvm install 2.6

如果在安装了新的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:inrequire’
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
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

解决办法如下:
安装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),我们安装不就得了

这里推介直接切换非root账户,直接执行
bundle install 这条命令

再次执行 $ 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.

好了 大工告成! 访问浏览器 http://127.0.0.1:4000/ 开始折腾博客吧!

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

让博客后台运行?
$ nohup jekyll serve &

杀掉后台的博客?
$ ps -axu | grep jekyll

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

下载jasper

此时我的jekyll是4.0.0,与所需的3.7.4有出入,所以卸载4.0.0
gem uninstall jekyll

然后安装
gem install jekyll -v ‘3.7.4’

装完后又提示报错
Could not find gem ‘github-pages (~> 192)’ in any of the gem sources listed in your Gemfile.
Run bundle install to install missing gems.

安装需要的版本
gem install github-pages -v ‘192’

接下来再运行就可以了
bundle exec jekyll serve

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!