Jekyll环境部署

Jekyll Environment

Posted by Gumc on December 6, 2025

Windows配置Jekyll环境

(❌已弃用,Ruby新版本会有很多问题)

MSYS2 安装jekyll环境

(❌已弃用,较为麻烦)

WSL安装Jekyll环境(Linux则不必安装WSL2)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
  # 安装依赖
  sudo apt update
  sudo apt install build-essential libssl-dev libreadline-dev zlib1g-dev autoconf bison libyaml-dev libncurses5-dev libffi-dev libgdbm-dev
  # 安装 rbenv
  cd /data/pack
  # 下载并安装
  curl -fsSL https://github.com/rbenv/rbenv-installer/raw/HEAD/bin/rbenv-installer | bash
  # =============================配置环境变量=============================
  # 将以下内容添加到你的 ~/.bashrc(如果是 zsh 则加到 ~/.zshrc):
  echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
  echo 'eval "$(rbenv init -)"' >> ~/.bashrc
  source ~/.bashrc
  # 安装特定版本的 Ruby
  rbenv install 3.4.8       # 安装 3.4.8 版本
  rbenv global 3.4.8        # 设置为全局默认版本
  ruby -v                   # 验证
  • 安装官方教程所需要求
1
2
3
4
5
6
7
8
9
10
11
  # 安装 Ruby 及其他必备组件(去掉了ruby-full)
  sudo apt-get install build-essential zlib1g-dev ruby-build ruby-dev
  # 避免以 root 用户身份安装 RubyGems 包(称为 gem)。而是为您的用户帐户设置一个 gem 安装目录。
  echo '# Install Ruby Gems to ~/gems' >> ~/.bashrc
  echo 'export GEM_HOME="$HOME/gems"' >> ~/.bashrc
  echo 'export PATH="$HOME/gems/bin:$PATH"' >> ~/.bashrc
  source ~/.bashrc
  # 到项目目录安装 Jekyll 和 Bundler
  cd 项目目录
  gem install jekyll bundler

Jekyll打包

  • 运行blog
1
2
3
4
5
6
7
8
  # 如果是mac使用chruby,则需要切换ruby
  chruby 3.1.3
  # 运行
  bundle exec jekyll serve
  # 修改实时更新
  bundle exec jekyll serve --livereload
  # 打包
  bundle exec jekyll build
  • 如需要多配置打包 可以将以下保存到build.sh, 修改配置,直接运行./build.sh, 不用每次修改配置
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#!/bin/bash

# 如果任何命令失败,则立即退出
set -e

# --- 定义源和目标目录 ---
# 构建输出目录 (在项目文件夹内)
SRC_COOHEX_COM="build/www_coohex_com"
SRC_COOHEX_GITHUB_IO="build/coohex_github_io"
SRC_DEVELOPMENT="build/development"

# 最终部署目录 (在项目文件夹外)
DEST_WWW_COOHEX_COM="../www_coohex_com"
DEST_COOHEX_GITHUB_IO="../coohex.github.io"


# --- Build Step ---
echo "--- 开始构建 Jekyll 网站 ---"

echo "1. 正在为 coohex.com 构建..."
bundle exec jekyll build --config _config_www_coohex_com.yml --destination "$SRC_COOHEX_COM"

# echo "2. 正在为 coohex.github.io 构建..."
bundle exec jekyll build --config _config_coohex_github_io.yml --destination "$SRC_COOHEX_GITHUB_IO"

# echo "3. 正在为 development 构建..."
# bundle exec jekyll build --config _config_development.yml --destination "$SRC_DEVELOPMENT"

echo "--- 所有构建已完成! ---"


# # --- Deployment/Move Step ---
# echo "--- 开始部署文件 ---"

# # 1. 部署到 www_coohex_com
# echo "正在部署到 $DEST_WWW_COOHEX_COM..."
# # 确保目标目录存在
# mkdir -p "$DEST_WWW_COOHEX_COM"
# # 使用 rsync 同步文件:删除目标目录中多余的文件,但排除 .git 目录
# rsync -a --delete --exclude='.git' "$SRC_COOHEX_COM/" "$DEST_WWW_COOHEX_COM/"
# echo "部署到 $DEST_WWW_COOHEX_COM 完成。"

# # 2. 部署到 coohex.github.io
# echo "正在部署到 $DEST_COOHEX_GITHUB_IO..."
# # 确保目标目录存在
# mkdir -p "$DEST_COOHEX_GITHUB_IO"
# # 使用 rsync 同步文件:删除目标目录中多余的文件,但排除 .git 目录
# rsync -a --delete --exclude='.git' "$SRC_COOHEX_GITHUB_IO/" "$DEST_COOHEX_GITHUB_IO/"
# echo "部署到 $DEST_COOHEX_GITHUB_IO 完成。"

# echo "--- 所有文件部署完成! ---"