2014-11-28 2 views
3

지킬을 사용하고 있는데 두 개의 독립적 인 저장소가 있으며 최근에 업데이트 한 것으로 생각됩니다. 지난 번에 내 블로그를 렌더링 한 모든 것이 정상적으로 작동했습니다. 바로 이것 :지킬/보석 : 해결되지 않은 사양

$ 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 디렉토리가 다른 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 

그래서 듣고있다 입니다. 왜 지킬이 불평하니?

답변

12

이런 종류의 문제가있는 유일한 사람은 아닌 것 같습니다. See issue here.

나는이 문제를 두 가지 방법으로 우회 할 수 있었다.

지킬 2.5.x에서 Gemfile을 제거하면 오류가 사라집니다.

Gemfile이 필요한 경우 bundle exec jekyll serve이 좋습니다.

+0

위대한! 나는'bundle exec jekyll serve'에서'jekyll serve'를 바꿨다. 이전에는'bundle exec '없이도 항상 작동 했으므로 어떤 변화가 있었는지 모르지만 접두사를 사용하면 효과가 있습니다. –

-2

Jekyll 사이트에서 jekyll serve 후에 빈 문자열을 baseurl 매개 변수에 전달하는 것이 좋습니다. 개인적으로, 저를 위해 일한 유일한 방법은 그것과 데이비드의 조언을 결합하는 것이 었습니다. 번들 exec jekyll serve --baseurl ''