Я использую Jekyll, у меня есть два независимых репозитория, и я думаю, что недавно обновил их. Все отлично работало в последний раз, когда я делал свой блог. Теперь только это:Jekyll/gem: Неразрешенные спецификации
$ 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 или 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.
Правильно ли я предположить, что камень/расслоение не имеет ни малейшего представления, что переходная зависимость?
$ bundle show listen
/var/lib/gems/2.1.0/gems/listen-2.7.11
Так это слушать. Так почему же Джекил жалуется?
Отлично! Я изменил 'jekyll serve' для' bundle exec jekyll serve'. Он всегда работал без 'bundle exec' раньше, поэтому я не знаю, что изменилось, но префикс заставляет его работать. –