我正在使用Jekyll,我有两个独立的存储库,我想我最近更新了一个。上次我渲染我的博客时,一切都很好。现在就是这样:
$ jekyll serve --watch
WARN: Unresolved specs during Gem::Specification.reset:
redcarpet (~> 3.1)
jekyll-watch (~> 1.1)
classifier-reborn (~> 2.0)
WARN: Clearing out unresolved specs.
Please report a bug if this causes problems.
/var/lib/gems/2.1.0/gems/jekyll-2.5.2/bin/jekyll:21:in `block in <top (required)>': cannot load such file -- jekyll/version (LoadError)
from /var/lib/gems/2.1.0/gems/mercenary-0.3.5/lib/mercenary.rb:18:in `program'
from /var/lib/gems/2.1.0/gems/jekyll-2.5.2/bin/jekyll:20:in `<top (required)>'
from /usr/local/bin/jekyll:23:in `load'
from /usr/local/bin/jekyll:23:in `<main>'
到底发生了什么事?似乎Jekyll或Gem自杀了。我该如何解决这个问题?
如何防止Jekyll或Ruby搞乱全局安装(我认为发生的事情 - 这两个博客并不是彼此独立的)?我可以确保每个Jekyll目录与其他目录隔离,就像在任何下降编程语言/构建系统中一样吗?
修改即可。我随机跑了sudo gem cleanup && bundle install
。这似乎已经卸载了(!?!)所有的宝石,然后重新安装它们。现在我得到了一个不同的错误:
WARN: Unresolved specs during Gem::Specification.reset:
listen (~> 2.7)
WARN: Clearing out unresolved specs.
Please report a bug if this causes problems.
我是否正确地认为gem / bundle不知道传递依赖是什么?
$ bundle show listen
/var/lib/gems/2.1.0/gems/listen-2.7.11
所以是听。那么为什么杰基尔会抱怨?
答案 0 :(得分:15)
您似乎并不是唯一一个遇到此类问题的人。 See issue here.
我设法以两种方式绕过了这个问题。
在Jekyll 2.5.x上,删除Gemfile
只会使错误消失。
如果需要Gemfile,bundle exec jekyll serve
就可以了。
答案 1 :(得分:-2)
在Jekyll网站上,他们建议在jekyll serve之后将空字符串传递给baseurl参数。就个人而言,唯一对我有用的是这和David的建议相结合。捆绑exec jekyll服务--baseurl&#39;&#39;