在Windows上可能与libgit2的坚固的gem安装问题

我正在使用Windows和我的Gemfile有这样的一行:

 gem 'rugged' 

当我运行bundle install它给我这个错误:

 Installing rugged 0.21.0 with native extensions Gem::Ext::BuildError: ERROR: Failed to build gem native extension. C:/Ruby21/bin/ruby.exe extconf.rb --use-system-libraries checking for cmake... no ERROR: CMake is required to build Rugged. *** extconf.rb failed *** Could not create Makefile due to some reason, probably lack of necessary libraries and/or headers. Check the mkmf.log file for more details. You may need configuration options. Provided configuration options: --with-opt-dir --without-opt-dir --with-opt-include --without-opt-include=${opt-dir}/include --with-opt-lib --without-opt-lib=${opt-dir}/lib --with-make-prog --without-make-prog --srcdir=. --curdir --ruby=C:/Ruby21/bin/ruby extconf failed, exit code 1 Gem files will remain installed in C:/Ruby21/lib/ruby/gems/2.1.0/gems/rugged-0.21.0 for inspection. Results logged to C:/Ruby21/lib/ruby/gems/2.1.0/extensions/x86-mingw32/2.1.0/rugged-0.21.0/gem_make.out An error occurred while installing rugged(0.21.0), and Bundler cannot continue. Make sure that `gem install rugged -v '0.21.0'` succeeds before bundling. 

我猜这与libgit2但我不确定。

这实际上是一个我很惊讶的问题,并不是要求更多。 但是,为了正确编译, rugged需要CMakepkg-config

只是因为我们可以,我们会将它们提取到DevKit本身。

首先让我们抓住每一个的副本:

CMake非常简单, 下载链接 。
pkg-config有点复杂,它有一些依赖性。 但是,有一个很好的包与依赖关系捆绑在一起 。

然后将正确的文件提取DevKit中

一旦你有他们,你需要打开每个档案( 需要7-zip ),并打开档案中的顶级文件夹。
从那里你需要解压缩文件并将文件夹中的文件shareDevKit根目录。
它应该只是将目录合并到现有的目录中,而不应该被覆盖或删除。

尝试再次安装,它应该只是工作 ,你不会用更多的东西弄脏你的PATH