2016-02-03 8 views
9

Po aktualizacji the official update guide zaktualizowałem ostatnio wersję Jekyll 2.x do wersji Jekyll 3.1.1.Błąd zależności Jekylla przy uaktualnianiu z 2.x do 3.x

Po instalacji działa jekyll serve produkowane następujący błąd:

Dependency Error: Yikes! It looks like you don't have jekyll-markdown-block or one of its dependencies installed. In order to use Jekyll as currently configured, you'll need to install this gem. The full error message from Ruby is: 'Unable to activate jekyll-markdown-block-1.1.0 , because jekyll-3.1.1 conflicts with jekyll (~> 2.0) ' If you run into trouble, you can find helpful resources at http://jekyllrb.com/help/ !

więc stamtąd sudo gem update jekyll-markdown-block, ale błąd nadal trwało. Następnie próbowałem zaktualizować wszystkie moje klejnoty:

sudo gem update `gem list | cut -d ' ' -f 1` 

I wtedy z rozpaczy, odinstalowane wszystkie moich klejnotów (oprócz rdzenia jednego, który nie został dopuszczony do odinstalowania):

sudo gem uninstall `gem list | cut -d ' ' -f 1` 

że następnie do instalacji Jekylla jak normalny (zakładając, że teraz pracę z czystej łupków)

sudo gem install jekyll 
Fetching: liquid-3.0.6.gem (100%) 
Successfully installed liquid-3.0.6 
Fetching: kramdown-1.9.0.gem (100%) 
Successfully installed kramdown-1.9.0 
.... 
Parsing documentation for jekyll-watch-1.3.1 
Installing ri documentation for jekyll-watch-1.3.1 
Parsing documentation for jekyll-3.1.1 
Installing ri documentation for jekyll-3.1.1 
14 gems installed 

Po następnie zainstalowanie jekyll-press i jekyll-markdown-block (pojawił się nowy komunikat o błędzie, gdy ich nie miałem), następnie otrzymałem oryginalny komunikat o błędzie dotyczący firmy Jekyll 2.x.

Jak mogę całkowicie usunąć Jekyll 2.x i ukończyć aktualizację bez błędów zależności gem?

+0

Czy próbowałeś dodanie 'Jekyll-markdown-block' do Gemfile witryny Jekyll? – AntK

+1

Spróbuj zbudować witrynę za pomocą 'bundler'. Jeśli go nie masz, uruchom '' install install "z linii poleceń. Następnie dodaj Gemfile z wszystkimi klejnotami, których potrzebujesz. Następnie wykonaj 'bundle install', gdy bundler zainstaluje wszystkie wymagane klejnoty i ich zależności. I na koniec uruchom 'bundle exec jekyll serve' do lokalnej obsługi. Możesz dodać flagi '--watch',' --baseurl "" ', a także' --safe' do polecenia 'bundle exec'. –

+0

Aktualizacja: Ostatecznie udało mi się to osiągnąć, przechodząc do nowego katalogu i uruchamiając 'jekyll init'. Obsługa tej nowo utworzonej strony zadziałała i właśnie przeportowałem się nad starą stroną. Jestem prawie pewien, że były zmiany konfiguracji, które spowodowały awarię starej witryny. –

Odpowiedz

12

Miałem ten sam problem po aktualizacji do jekylls 3.1.2 z 2.x. Running jekyll serve, otrzymałem następujący komunikat:

Dependency Error: Yikes! It looks like you don't have kramdown or one of its dependencies installed. In order to use Jekyll as currently configured, you'll need to install this gem. The full error message from Ruby is: 'cannot load such file -- kramdown' If you run into trouble, you can find helpful resources at http://jekyllrb.com/help/ !

Zrobiłem co Virtua kreatywny wskazują na jego komentarz:

bundle install 

, a następnie:

bundle exec jekyll serve 

Początkowy polecenia dawał mi ten sam błąd, ale pakiet exec działa.

+1

huh, mam do czynienia z tym samym problemem "kramdown", a twoje rozwiązanie działa, ale dlaczego? –

+0

Miałem takie samo doświadczenie. Domyślam się, że 'bundle exec jekyll serve' używa zależności zainstalowanych lokalnie przez' bundle install', gdzie jako 'jekyll serve' używa globalnie zainstalowanych klejnotów.Założę się, że jeśli spróbujemy 'gem install kramdown' lub coś takiego, naprawi to. –

+0

Wpadłem też na to. Problem wydaje się być spowodowany przez bundler. Ran 'jekyll serve --trace' i znalazł wyjątek rzucający bundler. Kiedy odinstalowuję bundler, udało mi się zbudować witrynę za pomocą narzędzia jekyll 3.1.2. – codewise

6

Wygląda na to, że envitorment pakietu jest zdezorientowany. Wypróbuj bundle clean --force - z sudo, jeśli masz problemy z uprawnieniami.

+0

Miałem zainstalowane 3 wersje kramdown. To mi się udało. –

+0

Dzięki, też mi się udało. – Pataar

5

Upewnij się, że masz zainstalowane Bundler,

sudo gem install bundler 
Powiązane problemy