2011-02-08 16 views
7

WI Ruby 187, pobrałem devkit z http://rubyinstaller.org/downloads i postępowałem zgodnie z instrukcją na https://github.com/oneclick/rubyinstaller/wiki/Development-Kit. Zapewniłem również, że devkit jest prawidłowo zainstalowany, po przeprowadzeniu testu dymu .Bluecloth v2.0.10 z systemem Windows 7 nie działa

Próbowałem zainstalować bluecloth (v2.0.10). To nie udało się następujący błąd:

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> 
+2

Wydaje się, że problemem jest to błąd z wersji 2.0.10. Spróbuj użyć starszej wersji, takiej jak 2.0.7 ('gem install bluecloth -v 2.0.7') –

+0

@LuisLavena Dzięki! Mogłem zainstalować w wersji 2.0.7. – rpattabi

+0

@LuisLavena ze względu na długi czas Zastanawiam się, czy sensowne jest przeniesienie komentarza do odpowiedzi? – ScottJShea

Odpowiedz

6

Wydaje się, że jest to błąd/problem z wersji 2.0.10 do BlueCloth. Możesz spróbować użyć starszej wersji, takiej jak 2.0.7:

gem install bluecloth -v 2.0.7 

Która wydaje się działać.

także prawdopodobnie warto sprawdzić to najnowsza wersja (2.2.0?), A jeśli nie działa, zgłoś go do gem autor:

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

13

Jeśli potrzebujesz 2.2.0 (najnowsza wersja), oto jak mam go do pracy:

  1. install DevKit

  2. Uruchom komendę poniżej, aby zainstalować bluecloth:

    gem install bluecloth

    będzie to nie zdało egzaminu, gdy budynek „rodzime rozszerzenia”, ale z powodzeniem zainstalować kod źródłowy gem.

  3. patch bluecloth.h plik (dla mnie, to znajduje się w D: \ ruby ​​\ Ruby-1.9.3-P125 \ lib \ ruby ​​\ perełki \ 1.9.1 \ perełki \ bluecloth-2,2. 0 \ ext), z łatką stąd: https://gist.github.com/1539611

  4. Przejdź do folderu instalacji klejnotów bluecloth. Dla mnie to wygląda jak poniżej:

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

  5. Uruchom następujące polecenie:

    rake gem

    Może poprosi, aby zainstalować kilka innych klejnotów, należy odpowiednio. Po zakończeniu powinieneś zobaczyć plik bluecloth-2.2.0.gem. Dla mnie to jest znaleźć tutaj:

    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. idź do bluecloth-2.2.0.gem lokalizacja i uruchom następujące polecenie:

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

+1

Musiałem przenieść 'bluecloth-2.2.0.gem' do innego katalogu przed wykonaniem kroku 6. W przeciwnym razie' gem' usunął folder instalacyjny klejnotu - w tym plik '.gem' utworzony w kroku 5 - przed kontynuowaniem. – reima

+0

Robiąc to na 'bluecloth-2.2.0.gem' dostaje mi garść błędów kompilacji: http://puu.sh/8TPhG.png jakikolwiek pomysł na rozwiązanie tego problemu? – Seiyria

+0

Nieważne, te błędy wystąpiły, ponieważ zapomniałem włączyć '#include" ruby.h "' powyżej '# ifdef' ... tylko przypadek niewłaściwego zastosowania łaty. – Seiyria

0

To poprawiono kod bluecloth.h, dla ludzi w pośpiechu ...

#ifndef BLUECLOTH_H 
 
#define BLUECLOTH_H 
 
    
 
#include "ruby.h" 
 

 
#if defined(HAVE_RUBY_ENCODING_H) && HAVE_RUBY_ENCODING_H 
 
# \t define M17N_SUPPORTED 
 
# \t include "ruby/encoding.h" 
 
#endif 
 

 
#include "config.h" 
 
#include "assert.h" 
 
    
 
#include "mkdio.h" 
 
    
 
void mkd_initialize \t \t _((void)); 
 
void mkd_with_html5_tags \t _((void)); 
 
    
 
/* Replace the macro from encoding.h that refers to static 'rb_encoding_list' */ 
 
#ifdef ENC_FROM_ENCINDEX 
 
#undef ENC_FROM_ENCINDEX 
 
#define ENC_FROM_ENCINDEX(idx) (rb_enc_from_index(idx)) 
 
#endif 
 

 
#endif

Powiązane problemy