2015-03-11 9 views
7

Próbuję uruchomić jekyll na mojej lokalnej maszynie z systemem Windows 8.1, mam zainstalowany i działający Ruby, ale za każdym razem, gdy uruchamiam komendę jekyll serve, pojawia się błąd:hitimes wymaga błędu podczas uruchamiania usługi jekyll w systemie Windows 8.1

C:/Ruby22/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require': cannot load such file -- hitimes/hitimes (LoadError) 

próbowałem instalacji hitimes ręcznie poprzez gem install hitimes i działa dobrze, jeśli mogę otworzyć irb mogę require 'hitimes' nie ma problemu po prostu nie wydają się działać dla Jekylla.

My gem environment jest:

RubyGems Environment: 
    - RUBYGEMS VERSION: 2.4.5 
    - RUBY VERSION: 2.2.1 (2015-02-26 patchlevel 85) [i386-mingw32] 
    - INSTALLATION DIRECTORY: C:/Ruby22/lib/ruby/gems/2.2.0 
    - RUBY EXECUTABLE: C:/Ruby22/bin/ruby.exe 
    - EXECUTABLE DIRECTORY: C:/Ruby22/bin 
    - SPEC CACHE DIRECTORY: C:/Users/adam.laycock/.gem/specs 
    - SYSTEM CONFIGURATION DIRECTORY: C:/ProgramData 
    - RUBYGEMS PLATFORMS: 
    - ruby 
    - x86-mingw32 
    - GEM PATHS: 
    - C:/Ruby22/lib/ruby/gems/2.2.0 
    - C:/Users/adam.laycock/.gem/ruby/2.2.0 
    - GEM CONFIGURATION: 
    - :update_sources => true 
    - :verbose => true 
    - :backtrace => false 
    - :bulk_threshold => 1000 
    - REMOTE SOURCES: 
    - https://rubygems.org/ 
    - SHELL PATH: 
    - C:\RubyDevKit\bin 
    - C:\RubyDevKit\mingw\bin 
    - C:\windows\system32 
    - C:\windows 
    - C:\windows\System32\Wbem 
    - C:\windows\System32\WindowsPowerShell\v1.0\ 
    - C:\Program Files\nodejs\ 
    - C:\Users\adam.laycock\AppData\Roaming\npm 
    - C:\Users\adam.laycock\AppData\Local\GitHub\PortableGit_c2ba306e536fdf878271f7fe636a147ff37326ad\cmd 
    - C:\Users\adam.laycock\AppData\Local\GitHub\PortableGit_c2ba306e536fdf878271f7fe636a147ff37326ad\bin 
    - C:\Users\adam.laycock\AppData\Local\GitHub\PortableGit_c2ba306e536fdf878271f7fe636a147ff37326ad\mingw\bin 
    - C:\Users\adam.laycock\AppData\Local\Apps\2.0\O3WGNDW8.VMM\C2M3657K.JNR\gith..tion_317444273a93ac29_0002.000a_7c768ac46c12be54 
    - C:\windows\Microsoft.NET\Framework\v4.0.30319 
    - C:\Ruby22\Bin 

jekyll -v powraca 2.5.3

+0

W takich przypadkach dobrym pomysłem byłoby podniesienie tego problemu na ich trackerze błędów. W ten sposób problem może zostać naprawiony. Wziąłem wolność dodawania problemu: https://github.com/copiousfreetime/hitimes/issues/39 – amenthes

Odpowiedz

20

Prawdopodobnie ma do czynienia z pewnymi zmianami ABI łamanie w Ruby 2.2 i hitimes-1.2.2-x86-mingw32 nie zawiera binarne tłuszczu na nim Ruby 2.2 .

Poprawka polega na zwykłym odinstalowaniu i ponownym zainstalowaniu oraz użyciu --platform ruby podczas instalacji.

Więc to zrobić:

gem uni hitimes 

**Remove ALL versions** 

gem ins hitimes -v 1.2.1 --platform ruby 

To będzie skompilować hitimes, który jest zgodny z Ruby 2.2.

Edit: Jak copiousfreetime mentioned in the comments The RubyInstaller DevKit jest wymagane do kompilacji binarnych RubyGems

Wersje 1.2.3 i góry hitimes powinna zawierać pliki binarne tłuszczu dla Ruby 2.2.X wydaniach. Thanks copiousfreetime

+2

To będzie działać tylko, jeśli masz zainstalowany system Windows Ruby DevKit. Hitimes używa rozszerzenia C i wymaga kompilatora do kompilacji dla źródła. – copiousfreetime

+4

U mnie działało to z 'gem ins hitimes -v 1.2.2 - platforma ruby' – kiewic

+0

Najnowsza wersja znaleziona na https://rubygems.org/gems/hitimes/ - obecnie 1.2.2 – Ruskin

2

UPDATE (13.09.2015) Hitimes wersja 1.2.3 jest zwolniony, która rozwiązuje ten problem.

Jest to trochę oczekiwane, ponieważ hitimes v1.2.2 został wydany w styczniu, a pierwsze wydanie Ruby 2.2 dla Windows ukazało się 1 miesiąc temu 6 marca. Nie miałem okazji zbudować hitimes dla Windows z Ruby 2,2 binarne tłuszczu jeszcze. Otworzyłem problem dla hitimesów, aby wydać nowy gruby plik binarny czasów przebojów, który obejmuje obsługę Ruby 2.2 - https://github.com/copiousfreetime/hitimes/issues/40

Powiązane problemy