我正在使用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
需要CMake
& pkg-config
。
只是因为我们可以,我们会将它们提取到DevKit本身。
首先让我们抓住每一个的副本:
CMake
非常简单, 下载链接 。
pkg-config
有点复杂,它有一些依赖性。 但是,有一个很好的包与依赖关系捆绑在一起 。
然后将正确的文件提取到DevKit中
一旦你有他们,你需要打开每个档案( 需要7-zip ),并打开档案中的顶级文件夹。
从那里你需要解压缩文件夹并将文件夹中的文件share
到DevKit根目录。
它应该只是将目录合并到现有的目录中,而不应该被覆盖或删除。
尝试再次安装,它应该只是工作 ,你不会用更多的东西弄脏你的PATH
。