3

我正在尝试在我的 CentOS 7 VM 上安装 Github Pages 的Slate 主题,以便我可以使用该命令在本地预览我的站点。bundle exec jekyll serve

我尽可能地按照说明进行操作。

  • 我将主题更改minimajekyll-theme-slate在我的_config.yml文件中。
  • 然后我更改gem "minima", "~> 2.0"gem "github-pages", group: :jekyll_plugins在我的Gemfile文件中。

在那之后(因为这些是他们唯一的说明),我跑了bundle exec jekyll serve,它告诉我我有未安装的 gem(duh),并建议运行bundle install.

  • 我跑了bundle install,它告诉我依赖项的版本类型存在冲突,它表明bundle update可能会解决该问题。
  • 没问题,我跑了bundle update。一些插件/功能实际上恢复了这里的版本,但我现在在我的机器上安装了 Slate 主题,0.0.4无论出于何种原因版本。

之后,我又跑bundle exec jekyll serve了。我收到了这个错误:

Configuration file: /home/peri/my-site/_config.yml
Configuration file: /home/peri/my-site/_config.yml
jekyll 3.4.3 | Error:  Could not find a JavaScript runtime. See https://github.com/rails/execjs for a list of available runtimes.

在某种程度上,这个错误是有道理的。要使自定义主题起作用,我可能需要一个工具来运行他们的自定义脚本。但首先,我注意到主题安装说明中的这个额外部分,它直接提到能够使用该主题在本地预览站点。

  • 我下载了源代码,而不是克隆它...我不需要这些.git东西吗?
  • 我编辑了该script/bootstrap文件,因为/usr/local需要 root 并且 usingsudo不知道任何名为gemor的二进制文件bundle。我更改gembundle它们各自的绝对路径并sudo ./script/bootstrapslate-master.

故事的重点是,home/peri/my-site当我运行bundle exec jekyll serve. 大概是因为他们打算将用户的网站集成到他们主题的源代码中?这似乎不直观或不正确。所以,我调查了 ExecJS

  • 我安装了它。gem install execjs
  • 我添加gem "execjs", "2.7.0"到我的Gemfile文件中。

得到与以前相同的错误。

我应该如何安装这个 Jekyll 主题?

4

1 回答 1

3

更改主题后按照以下步骤操作_config.yml

  1. Gemfile应该只有这个内容:

    source "https://rubygems.org"
    gem "github-pages"
    
  2. 删除捆绑器当前配置:rm -r .bundle/

  3. 删除 Gemfile.lock:rm Gemfile.lock

  4. 仅在此网站的隔离文件夹中安装本地依赖项:bundle install --path=vendor/bundle

  5. 你不会有postpagehome主题,你只需要default在你的所有帖子中使用。

  6. 生成并运行服务器:bundle exec jekyll s

于 2017-08-21T19:03:20.517 回答