Я пытаюсь запустить 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
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
. Большое спасибо, свободное время
ОБНОВЛЕНИЕ (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
Похожие вопросы
Новые вопросы
ruby
Ruby - это многоплатформенный динамический объектно-ориентированный интерпретируемый язык с открытым исходным кодом. Тег [ruby] предназначен для вопросов, связанных с языком Ruby, включая его синтаксис и его библиотеки. Вопросы Ruby on Rails должны быть помечены [ruby-on-rails].