2

我有这个jekyll项目https://github.com/mmistakes/minimal-mistakes

如果我运行jekyll serve,则会显示此错误。

警告:Gem::Specification.reset 期间未解决的规范:听(< 3.1,~> 3.0)警告:清除未解决的规范。如果这会导致问题,请报告错误。配置文件:/home/kenden/Desktop/minimal-mistakes-master/_config.yml 依赖错误:哎呀!看起来您没有安装 jekyll-paginate 或其依赖项之一。为了使用当前配置的 Jekyll,你需要安装这个 gem。来自 Ruby 的完整错误消息是:'cannot load such file -- jekyll-paginate' 如果遇到问题,可以在 http://jekyllrb.com/help/找到有用的资源!杰基尔 3.1.3 | 错误:jekyll 分页

我已经jekyll paginate安装了。我检查了使用gem list. 但是,如果我运行,bundle exec jekyll serve那么服务器会完美启动。

配置文件:/home/kenden/Desktop/minimal-mistakes-master/_config.yml 来源:/home/kenden/Desktop/minimal-mistakes-master 目的地:/home/kenden/Desktop/minimal-mistakes-master/_site 增量构建:禁用。使用 --incremental 生成...在 0.104 秒内完成。自动重新生成:启用 '/home/kenden/Desktop/minimal-mistakes-master' 配置文件:/home/kenden/Desktop/minimal-mistakes-master/_config.yml 服务器地址:http://127.0.0.1: 4000 服务器正在运行... 按 ctrl-c 停止。

为什么不起作用?和jekyll serve之间有什么区别?jekyll servebundle exec jekyll serve

4

2 回答 2

2

我也遇到了这个问题,我通过卸载与Gemfile.lock.

例如,我发现这个 gem 有两个不同的版本:jekyll-sass-converter (1.4.0, 1.3.0). 而在Gemfile.lock,只有jekyll-sass-converter (= 1.3.0)。所以我卸载了它的 1.4.0 版本。然后Jekyll serve按预期工作。

Jekyll serve我认为和之间的区别在于bundle exec Jekyll servebundle exec它将检查Gemfile.lock并使用其中的特定版本的 gems,同时Jekyll serve以某种方式被同一 gem 的不同版本混淆。

于 2016-07-22T01:59:58.493 回答
2

Bundler的基本原理和目的可能会阐明这种差异。您的系统 Ruby 上很可能有多个版本的 gem,它可能不确定要使用哪个版本。

如果您不想总是打字,bundle exec请阅读Thoughtbot 博客中的这篇文章

于 2016-05-05T23:10:15.223 回答