无法在Windows的Ruby 1.9.2上安装或更新Ruby bluecloth gem[英] Unable to install or update Ruby bluecloth gem on Windows Ruby 1.9.2

本文是小编为大家收集整理的关于无法在Windows的Ruby 1.9.2上安装或更新Ruby bluecloth gem的处理方法,想解了无法在Windows的Ruby 1.9.2上安装或更新Ruby bluecloth gem的问题怎么解决?无法在Windows的Ruby 1.9.2上安装或更新Ruby bluecloth gem问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

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

这是我得到的复制粘贴:

<块引用>

C:\Users\Developer1>gem 更新
更新已安装的 gem
更新蓝布
暂时增强 PATH 以包含 DevKit...
构建原生扩展.这可能需要一段时间...
错误:安装 bluecloth 时出错:
错误:无法构建 gem 原生扩展.

C:/Ruby192/bin/ruby.exe extconf.rb
检查 srand()... 是的
检查随机()...否
检查 rand()... 是的
检查 string.h、strings.h 中的 bzero()...否
检查 strcasecmp()... 是
检查 strncasecmp()... 是
检查 mkdio.h... 是的
检查 ruby​​/encoding.h... 是的
创建 extconf.h
创建 Makefile

制作C:/Ruby192/bin/ruby -e "puts 'EXPORTS', 'Init_bluecloth_ext'" > bluecloth_ext-i386-mingw32.defgcc -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-括号 -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wno-long-long -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:错误:重复的"未签名"
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
38:23:错误:声明说明符中有两种或多种数据类型
c:\ruby-devkit\mingw\bin../lib/gcc/mingw32/4.5.2/../../../../include/windef.h:2
41:24:错误:重复的"未签名"
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.2.0 中的头文件阻止bluecloth 在windows 上编译.但是,您可以自己修补它.正如 Luis Lavena 所说,您需要应用路径.

  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).

    然后您应该会看到在中创建的 .gem 文件

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

  5. 打开这个目录并安装打过补丁的gem:

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

本文地址:https://www.itbaoku.cn/post/786775.html