Я пытаюсь запустить jekyll на своем локальном компьютере под управлением Windows 8.1, Ruby установлен и работает, но каждый раз, когда я запускаю команду jekyll serve, я получаю сообщение об ошибке:

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

Я пробовал установить hitimes вручную через gem install hitimes, и он работает нормально, если я открою irb, я могу require 'hitimes' без проблем, это просто не работает для jekyll.

Мой gem environment:

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 возвращает 2.5.3

8
Arcath 11 Мар 2015 в 14:29

2 ответа

Лучший ответ

Вероятно, это связано с некоторыми критическими изменениями ABI в Ruby 2.2, а hitimes-1.2.2-x86-mingw32 не включает толстый двоичный файл для Ruby 2.2.

Чтобы исправить это, просто удалите и переустановите его и используйте --platform ruby при установке.

Так что сделайте это:

gem uni hitimes

**Remove ALL versions**

gem ins hitimes -v 1.2.1 --platform ruby

Это приведет к перекомпиляции hitimes, совместимого с Ruby 2.2.

Изменить : как copiousfreetime , упомянутый в комментариях, RubyInstaller DevKit необходим для компиляции двоичных rubygems

Версии 1.2.3 и выше hitimes должны содержать толстые двоичные файлы для выпусков Ruby 2.2.X. Большое спасибо, свободное время

21
Community 23 Май 2017 в 10:32

ОБНОВЛЕНИЕ (13 сентября 2015 г.) Выпущена версия Hitimes 1.2.3, которая решает эту проблему.

Это несколько ожидаемо, поскольку Hitimes v1.2.2 был выпущен в январе, а первая версия Ruby 2.2 для Windows была выпущена 1 месяц назад, 6 марта. У меня еще не было возможности собрать Hitimes для Windows с толстыми двоичными файлами Ruby 2.2. . Я открыл проблему для Hitimes, чтобы выпустить новый толстый двоичный файл hitime, который включает поддержку Ruby 2.2 - https://github.com/copiousfreetime/hitimes/issues/40

2
copiousfreetime 13 Сен 2015 в 08:28