首页 > 解决方案 > `bundle exec jekyll serve` 依赖意外中断

问题描述

这可能不是问题的地方,但我是 Jekyll 用户而不是 Ruby 用户(在 Jekyll 之外),所以这个问题很可能与我的版本控制中的某些东西有关。

虽然bundle exec jekyll serve几天前运行在本地正确地为静态站点提供服务,但当我今天尝试它时它停止工作。相反,我收到了这个错误:

Could not find minitest-5.14.1 in any of the sources
Run `bundle install` to install missing gems.

运行时bundle install,我收到这个:

Fetching gem metadata from https://rubygems.org/.........
zeitwerk-2.3.0 requires ruby version >= 2.4.4, which is incompatible with the current version, ruby 2.3.7p456

我知道我这里有一些旧版本,但我正在使用我知道的系统,并且到目前为止它一直很稳定。我没有更新 Ruby 或以其他方式对这些系统进行任何更改(我知道......)。我运行 macOS 10.14.6 并且最近也没有对操作系统进行任何更新。

返回的开始bundle env

Bundler       2.2.15
  Platforms   ruby, universal-darwin-18
Ruby          2.3.7p456 (2018-03-28 revision 63024) [universal.x86_64-darwin18]
  Full Path   /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/ruby

在查看了许多站点之后,很难知道要尝试更改哪些内容而不陷入需要(1)比我想要的更多地了解 Ruby 环境或(2)升级可能会破坏我的旧的东西的兔子洞杰基尔安装。

感谢您的任何建议。

更新...

我安装了两个版本,一个是 macOS 系统版本(2.3),另一个是 Homeborew(2.7)。为了解决这个问题,我听从了其他地方的建议,按照给定的说明设置了 rvm ,并安装了 3.0。我将其设置为默认值,但仍然收到相同的错误。

标签: rubyjekyllbundle

解决方案


回答自己,以防有人在这里结束:

使用 RVM 解决了这个问题,但我安装的是 3.0 而不是 Ruby 2.7。这导致了一系列不同的不兼容性。一旦我还添加了 2.7 并运行bundle installbundle exec jekyll serve就能够正常启动。


推荐阅读