错误:无法在Windows上构建gem本机扩展

Aks*_*s.. 5 ruby rubygems devkit

我在安装' redcarpet'gem 时遇到以下错误.它虽然在我的朋友机器上安装没有问题.(我想安装它来运行yard)Ruby版本:1.9.3

cmd输出:

D:\Learning\Common_POM_FW\SampleProjects>yard
[error]: Missing 'redcarpet' gem for Markdown formatting. Install it with `gem install redcarpet`

D:\Learning\Common_POM_FW\SampleProjects>gem install redcarpet
Temporarily enhancing PATH to include DevKit...
Building native extensions.  This could take a while...
ERROR:  Error installing redcarpet:
        ERROR: Failed to build gem native extension.

    C:/Ruby193/bin/ruby.exe -r ./siteconf20141009-6544-978w4t.rb extconf.rb
creating Makefile

make  clean
Makefile:165: *** target pattern contains no `%'.  Stop.

make
Makefile:165: *** target pattern contains no `%'.  Stop.

make failed, exit code 2

Gem files will remain installed in C:/Ruby193/lib/ruby/gems/1.9.1/gems/redcarpet-3.1.2 for inspectio
n.
Results logged to C:/Ruby193/lib/ruby/gems/1.9.1/extensions/x86-mingw32/1.9.1/redcarpet-3.1.2/gem_ma
ke.out
Run Code Online (Sandbox Code Playgroud)

更新: 使用https://github.com/oneclick/rubyinstaller/wiki/Development-Kit提供的devkit安装说明当我用json gem测试安装时它也失败了:(

我在github Native gem extension Error中经历了排除故障的链接,并按照说明解决,但问题依然存在..

我添加了两个路径到Env var C:\\ruby_devkit\\bin;C:\\ruby_devkit\\mingw\\bin;这将删除Temporarily enhancing PATH to include DevKit...出现在cmd上的行

Aks*_*s.. 30

经过大量研究后,我发现罪魁祸首是RubyGems版本与原生扩展宝石不兼容!

我有ruby gems ver 2.4.1,但似乎> 2.4.0有这些问题

gem update --system 2.3.0 为我做了诀窍:)

请参阅:https://github.com/rubygems/rubygems/issues/977

  • 英雄!我尝试了大约 37 种解决方案......第 38 次幸运! (3认同)
  • 对我来说,只需使用 `gem update --system` 更新即可解决问题。**不要**降级,它不会**解决问题! (2认同)

Mah*_*ou5 5

降级红宝石对我不起作用。

有效的是(安装了最新版本的 ruby​​ gems):

以管理员身份打开 CMD 并...

gem install json --platform=ruby --verbose
Run Code Online (Sandbox Code Playgroud)

(答案由dannysmith 在这里添加)