我试图在运行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
答案 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来编译二进制 rubygems
版本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