我有这个jekyll
项目https://github.com/mmistakes/minimal-mistakes
如果我运行jekyll serve
,则会显示此错误。
警告:宝石期间未解决的规格::规格.reset:监听(<3.1,~>3.0)警告:清除未解析的规格。如果这会导致问题,请报告错误。配置文件:/home/kenden/Desktop/最小错误master/_config.yml依赖关系错误:哎呀!看起来你没有jekyll paginate或已安装其依赖项。为了使用Jekyll作为当前配置后,您将需要安装此gem。完整的错误消息from Ruby是:"无法加载这样的文件--jekyll paginate"如果您运行遇到麻烦时,您可以在http://jekyllrb.com/help/!jekyll 3.1.3 |错误:jekyll分页
我已经安装了jekyll paginate
。我使用gem list
进行了检查。但是,如果我运行bundle exec jekyll serve
,那么服务器就会完美启动。
配置文件:/home/kenden/Desktop/最小错误master/_config.yml来源:/home/kenden/Desktop/最小错误大师目标:/home/kendan/Desktop/minimal-errors-master_site增量构建:已禁用。启用--增量正在生成。。。在0.104秒内完成。自动重新生成:已为"/home/kenden/Desktop/最小错误主机"配置文件启用:/home/kenden/Desktop/最小错误master/_config.yml服务器地址:http://127.0.0.1:4000服务器正在运行。。。按ctrl-c停止。
为什么jekyll serve
不起作用?jekyll serve
和bundle exec jekyll serve
有什么区别?
Bundler的基本原理和目的可能会揭示这种差异。最有可能的是,您的系统Ruby中有不止一个版本的gem,并且可能不确定该使用哪个版本。
如果您不想总是键入bundle exec
,请阅读Thoughtbot博客
我也遇到了这个问题,我通过卸载与Gemfile.lock
相比的所有不同版本的gems来解决它。
例如,我发现这个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
并在其中使用特定版本的gem,而Jekyll serve
不知何故被同一gem的不同版本所混淆。