资讯详情

在 Ubuntu 上安装 Jekyll:从系统依赖到用户级 Gem 环境的完整实战指南

📅 2026/9/19 11:41:12 | 华诺云谱 👁 阅读
在 Ubuntu 上安装 Jekyll:从系统依赖到用户级 Gem 环境的完整实战指南
在 Ubuntu 上安装 Jekyll从系统依赖到用户级 Gem 环境的完整实战指南【免费下载链接】jekyll:globe_with_meridians: Jekyll is a blog-aware static site generator in Ruby项目地址: https://gitcode.com/gh_mirrors/je/jekyll本指南以 Ubuntu 安装文档 为主体详解在 Ubuntu 上安装 Jekyll当前仓库版本为 4.4.1的全部流程安装系统依赖、以普通用户身份配置 Gem 安装目录、安装 Jekyll 与 Bundler并完成版本验证与首个站点创建。读完本文你将能够在 Ubuntu 上搭建一套不依赖sudo安装 Gem 的安全 Jekyll 环境并了解安装背后的 Ruby 依赖机制便于自行排查问题。安装前的环境要求Jekyll 本质上是一个以 Ruby Gem 形式发布的静态站点生成器参见 安装总览文档。在 Ubuntu 上安装之前需要确认系统满足以下前置条件官方要求详见 安装总览 中的 Requirements 一节Ruby版本2.7.0 或更高且包含完整的开发头文件development headers可使用ruby -v检查版本RubyGemsgem 包管理器使用gem -v检查版本GCC 与 Make编译工具链分别使用gcc -v、g -v和make -v检查版本。关于最低 Ruby 版本可以从仓库中直接得到印证docs/_data/ruby.yml中声明了min_version: 2.7.0而 jekyll.gemspec 中同样写有s.required_ruby_version 2.7.0二者一致。也就是说低于 2.7.0 的 Ruby 无法安装或运行 Jekyll安装前应优先确认系统 Ruby 版本足够新。Jekyll 依赖一套典型的 Ruby 生态组件安装时会自动带齐。从 jekyll.gemspec 的运行时依赖声明可以看到Jekyll 依赖kramdownMarkdown 转换、liquid模板语言、jekyll-sass-converterSass 编译、rouge语法高亮、mercenary命令行解析、pathutil路径处理、webrick本地服务器等 Gem。理解这一点有助于你在后续安装遇到原生扩展编译问题时快速定位根因。第一步安装系统依赖打开终端执行以下命令安装 Ruby 以及构建原生 Gem 扩展所需的工具链sudo apt-get install ruby-full build-essential zlib1g-dev各软件包的作用如下软件包作用ruby-full完整版 Ruby包含标准库与开发头文件满足 Jekyll 对 Ruby 2.7.0 及 development headers 的要求build-essential包含 GCC、g、make 等编译工具用于编译带有原生扩展C 扩展的 Gemzlib1g-devzlib 压缩库的开发头文件Ruby 与部分 Gem 的原生扩展在编译时需要zlib1g-dev虽然不在官方总览文档的最小清单中但它几乎是 Ubuntu 上安装 Ruby Gem 的必装项——许多 Gem 的原生扩展例如与压缩、解析相关的库在编译链接阶段需要 zlib 头文件缺少它常导致gem install编译失败。在 Ubuntu 上执行sudo apt-get update刷新软件源后安装可获得系统当前可用的最新版本。第二步配置用户级 Gem 安装目录关键安全实践官方安装文档特别强调不要以 root 用户安装 RubyGems 软件包Gem。以 root 安装 Gem 会将文件写入系统目录既可能污染系统 Ruby 环境、引发版本冲突也存在被恶意 Gem 利用提权的风险。正确的做法是为当前用户单独建立一个 Gem 安装目录并写入 shell 配置文件。原文档给出的命令如下它会把三条环境变量配置追加到~/.bashrcecho # Install Ruby Gems to ~/gems ~/.bashrc echo export GEM_HOME$HOME/gems ~/.bashrc echo export PATH$HOME/gems/bin:$PATH ~/.bashrc source ~/.bashrc逐条解释这条配置的含义GEM_HOME$HOME/gems指定 Gem 的安装根目录为当前用户主目录下的gems目录此后gem install安装的 Gem 都会落入该目录无需任何sudoPATH$HOME/gems/bin:$PATH把~/gems/bin加入可执行文件搜索路径使其优先于系统路径从而让 shell 找到 Jekyll 的可执行文件source ~/.bashrc立即在当前终端会话中生效无需重新登录。如果当前会话使用的 shell 不是 Bash例如 zsh请将~/.bashrc替换为对应的配置文件如~/.zshrc。配置完成后可以用echo $GEM_HOME确认变量已生效。这套非超级用户安装方案正是官方推荐的通用做法与之对应的排错章节位于 Troubleshooting 文档 的 Running Jekyll as Non-Superuser (no sudo!)锚点#no-sudo部分当jekyll new报错 Your user account isnt allowed to install to the system RubyGems 时通常就是因为没有配置用户级 Gem 目录而以普通用户身份尝试写入系统目录所致。第三步安装 Jekyll 与 BundlerGem 环境配置完成后即可安装 Jekyll 和 Bundlergem install jekyll bundlerJekyll静态站点生成器本体BundlerRuby 依赖管理工具用于按Gemfile精确锁定并安装站点依赖。官方推荐 Jekyll 站点统一使用 Bundler 管理 Gem 依赖新站点默认生成的Gemfile即为此设计。由于此前已将GEM_HOME指向用户目录该命令无需sudo。安装过程中Gem 解析器会自动拉取 jekyll.gemspec 中声明的全部运行时依赖若某个依赖包含原生扩展系统会调用build-essential提供的工具链现场编译因此第一步安装编译工具链是必要的。安装完成后Jekyll 可执行文件位于~/gems/bin/jekyll。提示若安装过程因依赖解析或网络问题失败可先尝试gem update --system升级 RubyGems 后再重试。验证安装并创建第一个站点官方安装文档以一句 Thats it! Youre ready to start using Jekyll. 收尾但实际安装后还建议做以下两步验证确保环境真正可用。1. 验证版本ruby -v jekyll -vjekyll -v应输出版本号本仓库对应版本为 4.4.1见 lib/jekyll/version.rb 中的VERSION 4.4.1。如果提示jekyll: command not found请确认~/gems/bin已加入PATH并重新执行source ~/.bashrc。2. 创建并预览一个站点jekyll new my-awesome-site cd my-awesome-site bundle exec jekyll servejekyll new会调用 lib/jekyll/commands/new.rb 中实现的脚手架逻辑基于lib/site_template/目录生成站点骨架包含_posts/0000-00-00-welcome-to-jekyll.markdown.erb示例文章、_config.yml与about.markdown等。默认情况下若目标目录已存在且非空命令会报错并提示使用--force覆盖也可使用--blank生成空白骨架、--skip-bundle跳过依赖安装对应 new.rb 中的命令选项定义。bundle exec jekyll serve会在本地启动开发服务器默认监听http://127.0.0.1:4000并开启文件监听实现改动自动重建--watch监听与增量构建等行为由jekyll-watchGem 提供。首次运行会依据站点Gemfile安装并锁定依赖建议提交站点时保留Gemfile.lock以保证环境一致性。常见问题与排错方向jekyll new报 Your user account isnt allowed to install to the system RubyGems未配置用户级 Gem 目录所致回到第二步补全GEM_HOME/PATH配置详见 Troubleshooting 文档 的 Running Jekyll as Non-Superuser 章节。gem install原生扩展编译失败多为编译工具链或 zlib 头文件缺失回头补装build-essential zlib1g-dev。jekyll命令找不到检查PATH是否包含~/gems/bin并重新source ~/.bashrc。端口被占用jekyll serve可用--port参数指定其他端口参见 exe/jekyll 中命令行选项的组织方式具体端口选项定义在lib/jekyll/commands/serve.rb。其他 Linux 发行版与延伸阅读本指南的流程同样适用于大多数基于 Debian 的发行版。若你使用的是 Fedora、RHEL8/CentOS8、Debian、Gentoo、ArchLinux、OpenSUSE 或 Clear Linux可参考 其他 Linux 发行版安装指南该文档给出了各发行版对应的依赖安装命令例如 Fedora 使用sudo dnf install ruby ruby-devel openssl-devel redhat-rpm-config gcc-c development-toolsArchLinux 使用sudo pacman -S ruby base-devel ruby-erb且明确指出其他 Linux 发行版的安装方式与 Ubuntu 类似安装 Jekyll 本体时同样遵循本指南的第二步用户级 Gem 目录与gem install jekyll bundler步骤。如需在其他操作系统上安装可进一步阅读 macOS 安装指南、FreeBSD 安装指南 与 Windows 安装指南。其中 FreeBSD 指南还提供了安装完成后的标准验证命令ruby -v与jekyll -v与本指南的验证步骤一致。至此你的 Ubuntu 环境已经具备一套安全、可维护的 Jekyll 开发环境可以开始搭建自己的静态博客或文档站点了。【免费下载链接】jekyll:globe_with_meridians: Jekyll is a blog-aware static site generator in Ruby项目地址: https://gitcode.com/gh_mirrors/je/jekyll创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
📝

华诺云谱内容团队

资深建站顾问 · 行业研究员

10年+企业数字化服务经验,专注智能建站、SEO优化与品牌营销,持续输出建站技巧、行业洞察与营销干货,已帮助5000+企业实现数字化增长。

你可能需要的服务

订阅华诺云谱资讯周报

每周一封,精选建站技巧、SEO与营销干货,直达邮箱。已有 8,000+ 企业主订阅,助你少走弯路。