错误:无法在Windows上构建gem原生扩展
我在安装’ 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
更新:使用https://github.com/oneclick/rubyinstaller/wiki/Development-Kit提供的devkit安装说明当我用json gem测试安装时它也失败了:(
我通过github 本地gem扩展错误的链接进行故障排除,并按照说明解决,但问题仍然存在..
我添加了两个路径到Env var C:\\ruby_devkit\\bin;C:\\ruby_devkit\\mingw\\bin;
这将删除Temporarily enhancing PATH to include DevKit...
的行, Temporarily enhancing PATH to include DevKit...
出现在cmd上的Temporarily enhancing PATH to include DevKit...
经过大量研究后,我发现罪魁祸首是RubyGems版本与原生扩展gem的不兼容性!
我有ruby gems ver 2.4.1但似乎> 2.4.0有这些问题
gem update --system 2.3.0
为我做了诀窍:)
参考: https : //github.com/rubygems/rubygems/issues/977
降级rubygem对我来说不起作用。
工作是什么(安装了最新版本的ruby gems):
以管理员身份打开CMD并…
gem install json --platform=ruby --verbose
( 丹尼史密斯 在这里添加了答案 )