Running pages locally error: Could not find 'jekyll-watch' (~> 1.1) - did find: [jekyll-watch-2.2.1] (Gem::MissingSpecVersionError)

Running pages locally error: Could not find 'jekyll-watch' (~> 1.1) - did find: [jekyll-watch-2.2.1] (Gem::MissingSpecVersionError)

正在尝试 运行 github 项目页面站点的本地页面(最小主题),但无法切断该页面。我认为这个问题与 jekyll 有关,特别是 "jekyll-watch" - 不管它是什么。

我(..很久以前..)设法在本地提供不同的 gitPage,所以这可能是修订冲突。我尝试了各种清理和更新(见下文)。

    gem cleanup 

您已请求卸载 gem: jekyll-3.4.3 依赖于 jekyll-watch (~> 1.1)

    gem install bundler

成功安装bundler-2.0.1 bundler-2.0.1 的解析文档 4 秒后完成了 bundler 文档的安装 1 gem 已安装

    bundle install

Gem::Ext::BuildError: 错误:无法构建 gem 本机扩展。 make 失败,退出代码 1

    gem install jekyll-watch

1 gem 已安装

    **bundle exec jekyll serve**

Bundler 找不到 gem "jekyll-watch" 的兼容版本: 在 Gem 文件中: github-pages x86-mingw32 被解析为 139,这取决于 jekyll (= 3.4.3) x86-mingw32 被解析为 3.4.3,这取决于 杰基尔手表 (~> 1.1) x86-mingw32

无法在任何来源中找到 gem 'jekyll-watch (~> 1.1)',这是 gem 'jekyll (= 3.4.3)' 所要求的。

有什么办法让发球工作吗?

这里的主要问题是您无法安装本机扩展。
如果您通过 RubyInstaller 安装了 Ruby,请首先检查您的 Ruby 版本:

ruby -v

如果它早于 2.4.0,那么我建议从上面的 link 安装更新的 Ruby,并确保您完成此 documentation 中描述的步骤.


正确设置 Ruby 后,通过 运行

更新您的 Jekyll 项目
bundle update

如果您遇到 Bundler 版本问题,请删除现有 Gemfile.lock 并重试。


请注意,您的 github-pages 版本很旧。为避免 jekyll build 出现意外问题,请将 Gemfile 锁定为 github-pages-v139

# Gemfile

gem "github-pages", "139", group: :jekyll_plugins

然后,一旦您确定 Ruby 能够成功安装所有依赖项,并且您的站点像以前一样构建良好,请考虑通过删除更新 github-pages gem您在上面的 Gemfile 中放置的版本约束。