jekyll 不尊重 _config.yml——可以升级吗?

jekyll 不尊重 _config.yml——可以升级吗?

Ubuntu 14.04 | 默认 ruby​​ 1.9.1 | Jekyll 0.11.2

Jekyll 不尊重我在 _config.yml 中的许多设置。我猜这是因为当前的 Jekyll (gem) 版本是 2.3.0,但我可能错了。

被忽略的具体设置是:

  • 分页
  • 目的地

这两个问题都会影响 Jekyll 创建的 URL。有没有办法:

  • 安全地将 Jekyll 更新到当前版本(不破坏 Ubuntu)?
  • 强制 Jekyll 识别我的设置?

答案1

如你所见,Debian/Ubuntu 中的一些应用程序往往非常老旧,对于 Ruby,我们通常倾向于避免使用系统包。有一些非常强大的 Ruby 管理器,例如右心室(推荐给初学者)和萊本它会在您的主目录中创建一个独立的 Ruby 安装,这样您就可以控制所有内容并保持最新状态。

但是,如果你只想使用 Jekyll,那么 Ruby 的打包版本也适用于你,你只需通过以下方式安装最新版本的 Jekyll:RubyGems使用补充gem命令(ruby包的一部分)。

首先,您需要 Ruby 的开发文件(ruby-dev包),因为 Jekyll 的一些依赖项需要编译。此外,最新版本的 Jekyll 需要一些 JavaScript 解释器(例如nodejs):

sudo apt-get install ruby-dev nodejs

现在你有两个选择。你可以全局安装 Jekyll,也可以在你的主目录中本地安装。

全局安装更简单,因为你几乎不需要配置任何东西。只需卸载软件包jekylljekyll使用 sudo 安装 gem:

sudo apt-get remove jekyll
sudo gem install jekyll

这会将 Ruby 依赖项安装到 中/var/lib/gems/1.9.1并将jekyll可执行文件安装到 中/usr/local/bin/jekyll。然后只需运行以下命令即可验证 Jekyll 的版本:

jekyll --version

全局安装可能看起来很可怕,但它不会导致任何问题,特别是当你只需要 Jekyll 并且不进行任何繁重的 Ruby 开发时。

本地安装在您的主目录中可以通过几种方式完成,在这里我将jekyll可执行文件放入~/bin目录中 - 它应该会自动添加到您的$PATH.

gem install --user-install --bindir ~/bin jekyll

使用--user-install选项,宝石将被安装到~/.gem/ruby/1.9.1/

--bindir告诉可执行文件应该放在哪里。如果~/bin尚不存在,gem 可能会抱怨:

WARNING:  You don't have /home/<user>/bin in your PATH,
          gem executables will not run.

您可能只需要重新加载终端或注销。

您还可以将这些选项添加到.gemrc文件中,以便在运行时始终使用它们gem

gem: --user-install --bindir ~/bin

请注意,如果你想使用 Jekyll 的其他插件和/或希望将 Jekyll 用于 GitHub 页面,你还应该考虑使用 Bundler 来管理你的依赖项,如中所述这篇 GitHub 文章

相关内容