我有jekyll
个项目https://github.com/mmistakes/minimal-mistakes
如果我运行jekyll serve
,则会显示此错误。
警告:Gem :: Specification.reset期间未解决的规范: listen(< 3.1,〜> 3.0)警告:清除未解析的规范。如果这会导致问题,请报告错误。配置文件: /home/kenden/Desktop/minimal-mistakes-master/_config.yml依赖 错误:哎!看起来你没有jekyll-paginate或其中一个 它的依赖项已安装。目前使用Jekyll 已配置,您需要安装此gem。完整的错误消息 来自Ruby的是:'无法加载此类文件 - jekyll-paginate'如果你跑 遇到麻烦,你可以找到有用的资源 http://jekyllrb.com/help/! jekyll 3.1.3 |错误:jekyll-paginate
我已经安装了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 serve
和bundle exec jekyll serve
有什么区别?
答案 0 :(得分:2)
Rationale and Purpose of Bundler可能会对差异有所了解。很可能你的系统Ruby上有多个版本的gem,它可能不确定使用哪个版本。
如果您不想总是输入bundle exec
,请阅读此article from the Thoughtbot blog
答案 1 :(得分: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 serve
之间的区别在于bundle exec
会检查Gemfile.lock
并使用其中的特定版本的宝石,而Jekyll serve
会以某种方式使用被同一个宝石的不同版本所困惑。