Using Jekyll with Bundler

Bundler 通过跟踪和安装所需的确切的 gems 和版本,为 Ruby 项目提供了一个一致的环境。

Bundler 是一个很好的工具,可以与Jekyll一起使用。因为它为每个项目跟踪依赖关系,所以如果您需要在不同的项目中运行不同版本的 Jekyll ,它特别有用。

此外,由于它可以(可选)在项目文件夹中安装依赖项,因此可以帮助您避免可能遇到的权限问题。使用 Jekyll 的通常方法是将 Jekyll 安装到系统的默认 gem 安装目录,然后运行 jekyll new 。在本教程中,我们将向您展示如何使用 Bundler 创建一个新的 Jekyll 项目,而无需在项目目录外安装 gem 。

这不是开始使用Jekyll的最简单方法

本教程帮助您使用Bundler设置Jekyll,并且可以选择不安装任何系统范围的gem。如果您更喜欢将jekyll命令安装到默认的gem安装目录,那么您可能需要阅读 Jekyll快速入门

在开始之前

要完成本教程,您需要安装 RubyBundler 。您可以在他们的网站上找到安装说明。

初始化 Bundler

要做的第一件事是为您的项目创建一个新目录,并运行 bundle init 。这将创建一个新的Bundler项目(通过创建一个空的Gemfile)。

mkdir my-jekyll-website
cd my-jekyll-website
bundle init

配置 Bundler 的 Install Path

此步骤是可选的。在这一步中,我们将配置 Bundler 以便在 ./vendor/bundle/ 项目子目录中安装 germs 。这样做的好处是bundler将在您的项目文件夹中安装 gems ,而不是 gem install 所使用的位置。这可以帮助您避免在 gem 安装过程中可能出现的权限错误,具体取决于您安装Ruby的方式。如果您跳过这一步,Bundler将把您的依赖项安装到 gem install 所使用的位置。

bundle config set --local path 'vendor/bundle'

Bundler配置是持久的

每个项目只需要执行一次此步骤。Bundler将您的配置保存在 ./.bundle/config 中,因此将来的 gems 将安装到相同的位置。

添加 Jekyll

现在,我们将使用Bundler添加Jekyll作为我们新项目的依赖项。此命令将 Jekyll gem 添加到我们的 Gemfile 中,并将其安装到 ./vendor/bundle/ 文件夹(或者您默认的gem安装目录,如果您没有设置自定义路径的话)。

bundle add jekyll

创建一个 Jekyll Scaffold

现在Jekyll已经安装好了,我们可以用它为我们的网站创建 scaffolding 。我们需要--force参数,因为我们的文件夹不是空的。其中已经有一些Bundler文件。我们单独运行 bundle install ,因为如果 Gemfile 已经存在,那么 Jekyll 会感到困惑。

bundle exec jekyll new --force --skip-bundle .
bundle install

运行网站

你的新网站已经准备好了!您可以使用 bundle exec jekyll serve 来运行网站,并访问 http://127.0.0.1:4000 。从这里开始,您就可以继续自己开发网站了。所有常规的Jekyll命令都可以使用,但您应该在它们前面加上 bundle exec ,以便Bundler运行安装在项目文件夹中的Jekyll版本。

提交到版本控制中

如果您将新网站存储在版本控制中,则需要忽略 ./vendor/ and ./.bundle/ 目录,因为它们包含特定于用户或平台的信息。新用户将能够基于 Gemfile 和 Gemfile.lock 安装正确的依赖项,这两个文件都应该引入版本库中。如果你愿意,你可以使用这个 .gitignore 作为开始。

.gitignore

# Ignore metadata generated by Jekyll
_site/
.sass-cache/
.jekyll-cache/
.jekyll-metadata

# Ignore folders generated by Bundler
.bundle/
vendor/
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值