Установка Publify с пакетной установкой, ошибка на bluecloth gem

Я пытаюсь установить веб-блог Publify CMS 6.0.9 для Ruby on Rails 3.1 в Windows.

Каждый раз, когда я пытаюсь bundle install Опубликовать, я получаю одно и то же сообщение об ошибке при установке bluecloth gem:

C:\Users\Lunasea\Downloads\typo-6.0.9>gem install 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:/RailsInstaller/Ruby1.9.2/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:/RailsInstaller/Ruby1.9.2/bin/ruby -e "puts 'EXPORTS', 'Init_bluecloth_ext'"
> bluecloth_ext-i386-mingw32.def
gcc -I. -IC:/RailsInstaller/Ruby1.9.2/include/ruby-1.9.1/i386-mingw32 -I/C/Rails
Installer/Ruby1.9.2/include/ruby-1.9.1/ruby/backward -I/C/RailsInstaller/Ruby1.9
.2/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-st
rings -Wno-missing-field-initializers -Wno-long-long -I.  -o bluecloth.o -c blue
cloth.c
In file included from c:\railsinstaller\devkit\mingw\bin\../lib/gcc/mingw32/4.5.
1/../../../../include/windows.h:48:0,
                 from c:\railsinstaller\devkit\mingw\bin\../lib/gcc/mingw32/4.5.
1/../../../../include/winsock2.h:22,
                 from c:/RailsInstaller/Ruby1.9.2/include/ruby-1.9.1/ruby/win32.
h:33,
                 from c:/RailsInstaller/Ruby1.9.2/include/ruby-1.9.1/ruby/define
s.h:205,
                 from c:/RailsInstaller/Ruby1.9.2/include/ruby-1.9.1/ruby/ruby.h
:74,
                 from c:/RailsInstaller/Ruby1.9.2/include/ruby-1.9.1/ruby.h:32,
                 from bluecloth.h:14,
                 from bluecloth.c:25:
c:\railsinstaller\devkit\mingw\bin\../lib/gcc/mingw32/4.5.1/../../../../include/
windef.h:229:23: error: duplicate 'unsigned'
c:\railsinstaller\devkit\mingw\bin\../lib/gcc/mingw32/4.5.1/../../../../include/
windef.h:238:23: error: duplicate 'unsigned'
c:\railsinstaller\devkit\mingw\bin\../lib/gcc/mingw32/4.5.1/../../../../include/
windef.h:238:23: error: two or more data types in declaration specifiers
c:\railsinstaller\devkit\mingw\bin\../lib/gcc/mingw32/4.5.1/../../../../include/
windef.h:241:24: error: duplicate 'unsigned'
make: *** [bluecloth.o] Error 1


Gem files will remain installed in C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9
.1/gems/bluecloth-2.2.0 for inspection.
Results logged to C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/bluecloth
-2.2.0/ext/gem_make.out

Я уже пытался установить драгоценный камень отдельно или просто установить последнюю версию, но это всегда дает один и тот же результат.

Я использую стандартный сгенерированный файл database.yml.


person m_vdbeek    schedule 13.01.2012    source источник


Ответы (2)


Файлы заголовков в версии 2.2.0 предотвращают компиляцию bluecloth в Windows. Однако вы можете исправить это самостоятельно:

  1. Запустите gem install bluecloth -v '2.2.0', если вы еще этого не сделали

  2. Примените этот патч к bluecloth.h файлу, на моей машине он находится в

    H:\Ruby193\lib\ruby\gems\1.9.1\gems\bluecloth-2.2.0\ext\bluecloth.h

  3. Перейдите, например, в каталог bluecloth 2.2.0

    H:\Ruby193\lib\ruby\gems\1.9.1\gems\bluecloth-2.2.0

  4. Запустите rake gem (для этого может потребоваться установка некоторых дополнительных гемов).

    Затем вы должны увидеть файл .gem, созданный в

    H:\Ruby193\lib\ruby\gems\1.9.1\gems\bluecloth-2.2.0\pkg\bluecloth-2.2.0.gem

  5. Откройте этот каталог и установите пропатченный гем:

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

person nichiporets    schedule 24.11.2012
comment
Для ppl, столкнувшегося с ошибкой, такой как я: после шага 4 переместите содержимое каталога pkg во временный каталог, перейдите во временный каталог и затем выполните команду на шаге 5. - person TheAshwaniK; 06.03.2014
comment
Шаг 4 выдает ошибку - грабли прерваны! - разместил это как отдельный вопрос здесь - gem-in-win-7-ruby-1-9-3" title="ошибка ruby ​​при установке bluecloth 2 2 0 gem in win 7 ruby ​​1 9 3"> stackoverflow.com/questions/24327130/ - person user3206440; 20.06.2014

Windows — не самая лучшая среда для запуска рельсов. Это хороший пример. См. эту ссылку для получения дополнительной информации. .

person Nick Colgan    schedule 13.01.2012
comment
Спасибо за быстрый ответ ! Не могли бы вы только помочь мне установить патч, пожалуйста? Я никогда не делал этого раньше... Что касается среды, я знаю, что Windows не самая лучшая, но у меня нет Mac, и я не очень люблю программировать на своей Linux VMWare. - person m_vdbeek; 13.01.2012
comment
Я протестировал патч, удалив красные линии и добавив зеленые линии в предоставленную вами ссылку, но это не сработало... :S - person m_vdbeek; 13.01.2012