ruby - 无法在 Windows Ruby 1.9.2 上安装或更新 Ruby bluecloth gem

标签 ruby rubygems gem bluecloth

我在 Windows 上尝试更新我的 bluecloth gem 版本时收到一条错误消息。是否有我需要为 Windows 安装的不同版本或我可以使用的 bluecloth 替代品?不幸的是,由于我使用的其他软件,我的开发环境严格是 Windows,否则我会使用 Linux 环境。

这是我得到的复制粘贴:

C:\Users\Developer1>gem update
Updating installed gems
Updating bluecloth
Temporarily enhancing PATH to include DevKit...
Building native extensions. This could take a while...
ERROR: Error installing bluecloth:
ERROR: Failed to build gem native extension.

C:/Ruby192/bin/ruby.exe extconf.rb
checking for srand()... yes
checking for random()... no
checking for rand()... yes
checking for bzero() in string.h,strings.h... no
checking for strcasecmp()... yes
checking for strncasecmp()... yes
checking for mkdio.h... yes
checking for ruby/encoding.h... yes
creating extconf.h
creating Makefile

make C:/Ruby192/bin/ruby -e "puts 'EXPORTS', 'Init_bluecloth_ext'" > bluecloth_ext-i386-mingw32.def gcc -I. -IC:/Ruby192/include/ruby-1.9.1/i386-mingw32 -I/C/Ruby192/include/ruby-1
.9.1/ruby/backward -I/C/Ruby192/include/ruby-1.9.1 -I. -DRUBY_EXTCONF_H=\"extconf.h\" -DVERSION=\"2.0.9\" -O3 -g -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wno-long-long -I. -o bluecloth.o -c bluecloth.c
In file included from c:\ruby-devkit\mingw\bin../lib/gcc/mingw32/4.5.2/../../..
/../include/windows.h:48:0,
from c:\ruby-devkit\mingw\bin../lib/gcc/mingw32/4.5.2/../../..
/../include/winsock2.h:22,
from c:/Ruby192/include/ruby-1.9.1/ruby/win32.h:33,
from c:/Ruby192/include/ruby-1.9.1/ruby/defines.h:205,
from c:/Ruby192/include/ruby-1.9.1/ruby/ruby.h:74,
from c:/Ruby192/include/ruby-1.9.1/ruby.h:32,
from bluecloth.h:14,
from bluecloth.c:25:
c:\ruby-devkit\mingw\bin../lib/gcc/mingw32/4.5.2/../../../../include/windef.h:2
29:23: error: duplicate 'unsigned'
c:\ruby-devkit\mingw\bin../lib/gcc/mingw32/4.5.2/../../../../include/windef.h:2
38:23: error: duplicate 'unsigned'
c:\ruby-devkit\mingw\bin../lib/gcc/mingw32/4.5.2/../../../../include/windef.h:2
38:23: error: two or more data types in declaration specifiers
c:\ruby-devkit\mingw\bin../lib/gcc/mingw32/4.5.2/../../../../include/windef.h:2
41:24: error: duplicate 'unsigned'
make: * [bluecloth.o] Error 1

Gem files will remain installed in C:/Ruby192/lib/ruby/gems/1.9.1/gems/bluecloth-2.2.0 for inspection. Results logged to C:/Ruby192/lib/ruby/gems/1.9.1/gems/bluecloth-2.2.0/ext/gem_make.out Nothing to update

最佳答案

BlueCloth 中包含的 C 扩展中 header 的包含顺序似乎阻止了 Windows 下的编译。

应用以下补丁:

https://gist.github.com/1539611

编译并运行。

也许您可以将问题报告给 gem 作者?

http://deveiate.org/projects/BlueCloth https://github.com/ged/bluecloth

希望对您有所帮助。

关于ruby - 无法在 Windows Ruby 1.9.2 上安装或更新 Ruby bluecloth gem,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8674826/

相关文章:

ruby - Sinatra 路由中定义的全局变量是否在请求之间共享?

使用 ruby​​mine 后 ruby​​gem pg 未安装

ruby-on-rails - 未定义方法 `gsub' 为 nil :NilClass driving me insane in ruby on rails

ruby - rake 测试 : Gem Load Error

ruby - 将 'gem list' 用于带有 RVM 的 git gems 时, 'bundle install' 未找到 gems

ruby-on-rails - 尝试在 Rails 中设置 rspec 测试时获取未初始化的常量 Faker::String

ruby - gem 命令默默地什么也不做

ruby-on-rails - .gem 文件包含什么? Rails 框架如何使用它?

ruby-on-rails - gem 未 checkout 。请在 Heroku 中运行 `bundle install`

Ruby 写入内存中的文件(实际上不是写入文件)