Невозможно установить или обновить Ruby Bluecloth Gem в Windows Ruby 1.9.2 - PullRequest
3 голосов
/ 30 декабря 2011

Я получаю сообщение об ошибке при попытке обновить мою версию bluecloth gem в Windows.Есть ли другая версия, которую мне нужно установить для Windows, или альтернатива bluecloth, которую я могу использовать?К сожалению, моя среда разработки строго Windows из-за другого программного обеспечения, с которым я работаю, иначе я бы использовал среду Linux.

Вот копия того, что я получаю:

C:\ Users \ Developer1> gem update
Обновление установленных гемов
Обновление bluecloth
Временное улучшение PATH для включения DevKit ...
Создание собственных расширений.Это может занять некоторое время ...
ОШИБКА: Ошибка установки bluecloth:
ОШИБКА: не удалось создать собственное расширение gem.

C: /Ruby192/bin/ruby.exe extconf.rb
проверка на srand () ... да
проверка на случайность () ... нет
проверка на rand () ... да
проверка на bzero () в string.h, strings.h... нет
проверка для strcasecmp () ... да
проверка для strncasecmp () ... да
проверка для mkdio.h ... да
проверка для ruby ​​/ encoding.h... да
создание файла extconf.h
создание файла Makefile

make C: / Ruby192 / bin / ruby ​​-e "помещает" 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-неиспользованный-параметр -Wno-круглые скобки -Wpointer-arith -Wwrite-strings -Wno-missing-field-Инициализаторы -Не-долго-долго -I.-o bluecloth.o -c bluecloth.c
В файле, включенном в папку c: \ ruby-devkit \ mingw \ bin ../ lib / gcc / mingw32 / 4.5.2 /../../..
/../include/windows.h:48:0,
из c: \ ruby-devkit \ mingw \ bin ../ lib / gcc / mingw32 / 4.5.2 /../../ ..
/../include/winsock2.h:22,
от c: /Ruby192/include/ruby-1.9.1/ruby/win32.h: 33,
от c: / Ruby192 / include/ruby-1.9.1/ruby/defines.h:205,
от c: /Ruby192/include/ruby-1.9.1/ruby/ruby.h: 74,
от c: / Ruby192 / include/ruby-1.9.1/ruby.h:32,
от bluecloth.h: 14,
от bluecloth.c: 25:
c: \ ruby-devkit \ mingw \ bin ../ lib/gcc/mingw32/4.5.2/../../../../include/windef.h:2
29:23: ошибка: дубликат «unsigned»
c: \ ruby-devkit\ mingw \ bin ../ lib / gcc / mingw32 / 4.5.2 /../../../../ include / windef.h: 2
38:23: ошибка: дубликат "unsigned"
c: \ ruby-devkit \ mingw \ bin ../ lib / gcc / mingw32 / 4.5.2 /../../../../ include / windef.h: 2
38:23: ошибка: два или более типов данных в спецификаторах объявления
c: \ ruby-devkit \ mingw \ bin ../ lib / gcc / mingw32 / 4.5.2 / ../../../../include/windef.h:2
41:24: ошибка: дубликат «unsigned»
make: * [bluecloth.o] Ошибка 1

Файлы Gem останутся установленными в C: /Ruby192/lib/ruby/gems/1.9.1/gems/bluecloth-2.2.0 для проверки.Результаты заносятся в C: /Ruby192/lib/ruby/gems/1.9.1/gems/bluecloth-2.2.0/ext/gem_make.out Ничего не обновлять

Ответы [ 2 ]

3 голосов
/ 24 ноября 2012

Заголовочные файлы в 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

3 голосов
/ 30 декабря 2011

Кажется, порядок, в котором заголовки включены в расширение C, включенное в BlueCloth, блокирует компиляцию под Windows.

Применение следующего патча:

https://gist.github.com/1539611

Компилирует и работает.

Возможно, вы можете сообщить о проблеме автору драгоценного камня?

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

Надеюсь, это поможет.

...