Bluecloth v2.0.10与Windows 7无法正常工作

Jay*_*min 7 ruby ruby-on-rails windows-7 bluecloth devkit

在Ruby 187中,我从http://rubyinstaller.org/downloads下载了devkit, 并按照https://github.com/oneclick/rubyinstaller/wiki/Development-Kit的说明进行操作.我还通过跟踪冒烟测试确保了devkit的正确安装.

然后我尝试安装蓝布(v2.0.10).它失败了以下错误:

C:\test\typo>gem install bluecloth --platform=ruby

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:/Ruby187/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... no
creating extconf.h
creating Makefile

make
gcc -I. -I. -Ic:/Ruby187/lib/ruby/1.8/i386-mingw32 -I. -
DRUBY_EXTCONF_H=\"extcon
f.h\"    -DVERSION=\"2.0.4\" -g -O2 -DFD_SETSIZE=256   -I. -Wall  -c
bluecloth.c

In file included from c:\rubydevkit\mingw\bin\../lib/gcc/
mingw32/4.5.1/../../../../include/windows.h:48:0,
                from c:\rubydevkit\mingw\bin\../lib/gcc/
mingw32/4.5.1/../../../../include/winsock2.h:22,
                from c:/Ruby187/lib/ruby/1.8/i386-mingw32/win32/
win32.h:27,
                from c:/Ruby187/lib/ruby/1.8/i386-mingw32/defines.h:
186,
                from c:/Ruby187/lib/ruby/1.8/i386-mingw32/ruby.h:37,
                from bluecloth.h:14,
                from bluecloth.c:25:
c:\rubydevkit\mingw\bin\../lib/gcc/mingw32/4.5.1/../../../../include/
windef.h:229:23: error: duplicate 'unsigned'
c:\rubydevkit\mingw\bin\../lib/gcc/mingw32/4.5.1/../../../../include/
windef.h:238:23: error: duplicate 'unsigned'
c:\rubydevkit\mingw\bin\../lib/gcc/mingw32/4.5.1/../../../../include/
windef.h:238:23: error: two or more data types in declaration
specifiers
c:\rubydevkit\mingw\bin\../lib/gcc/mingw32/4.5.1/../../../../include/
windef.h:241:24: error: duplicate 'unsigned'
bluecloth.c: In function 'bluecloth_initialize':
bluecloth.c:190:9: warning: unused variable 'utf8text'
make: *** [bluecloth.o] Error 1

Gem files will remain installed in c:/Ruby187/lib/ruby/gems/1.8/gems/
bluecloth-2.0.10 for inspection.
Results logged to c:/Ruby187/lib/ruby/gems/1.8/gems/bluecloth-2.0.10/
ext/gem_make.out

C:\test\typo>
Run Code Online (Sandbox Code Playgroud)

小智 13

如果您需要2.2.0(最新版本),请按以下步骤操作:

  1. 安装DevKit

  2. 运行以下命令安装蓝布:

    gem install bluecloth

    在构建"原生扩展"时,这将失败,但会成功安装gem的源代码.

  3. 补丁bluecloth.h文件(对我来说,这可以在:D:\ ruby​​\Ruby-1.9.3-p125\lib\ruby​​\gems\1.9.1\gems\bluecloth-2.2.0\ext)中找到来自这里的补丁:https://gist.github.com/1539611

  4. 转到bluecloth的gem安装文件夹.对我来说,这看起来如下:

    D:\ruby\Ruby-1.9.3-p125\lib\ruby\gems\1.9.1\gems\bluecloth-2.2.0

  5. 运行以下命令:

    rake gem

    它可能会提示您安装其他一些宝石,请相应地遵循.完成后,您应该看到创建了bluecloth-2.2.0.gem.对我来说,它在这里找到:

    D:\ruby\Ruby-1.9.3-p125\lib\ruby\gems\1.9.1\gems\bluecloth-2.2.0\pkg\bluecloth-2.2.0.gem

  6. 转到bluecloth-2.2.0.gem位置,然后运行以下命令:

    gem install bluecloth-2.2.0.gem --platform=ruby


Lui*_*ena 6

似乎BlueCloth的2.0.10版本存在错误/问题.您可以尝试使用2.0.7之类的旧版本:

gem install bluecloth -v 2.0.7
Run Code Online (Sandbox Code Playgroud)

这似乎有效.

也许这值得检查最新版本(2.2.0?),如果不能正常工作,请将其报告给gem作者:

http://deveiate.org/projects/BlueCloth/query