在Windows 8.1上运行jekyll serve时,hitimes需要输入错误

时间:2015-03-11 11:29:49

标签: ruby windows

我试图在运行Windows 8.1的本地计算机上运行jekyll,我已经安装了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)

我尝试通过gem install hitimes手动安装hitimes并且工作正常,如果我打开irb我可以require 'hitimes'没问题它似乎没有为杰基尔工作。

我的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 个答案:

答案 0 :(得分:21)

它可能与Ruby 2.2中的一些重大ABI更改有关,而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

这将重新编译与Ruby 2.2兼容的hitimes

修改:作为copiousfreetime mentioned in the comments,需要RubyInstaller DevKit来编译二进制 ruby​​gems

版本1.2.3及以上hitimes应包含Ruby 2.2.X版本的胖二进制文件。 Thanks copiousfreetime

答案 1 :(得分:2)

更新(2015-09-13) Hitimes版本1.2.3已发布,解决了这个问题。

这是有点预期的,因为hitimes v1.2.2在1月发布,而Windows的第一个Ruby 2.2版本是在1月前的3月6日发布的。我还没有机会为Windows构建hitimes Ruby 2.2胖二进制文件了。我已经为hitimes打开了一个问题,以发布一个新的fatimes二进制文件,其中包括对Ruby 2.2的支持 - https://github.com/copiousfreetime/hitimes/issues/40