Pregunta

Intento actualizar algunas gemas en una máquina con Windows y continuamente obtengo este error de salida para gemas que no tienen binarios precompilados:

Opciones de configuración proporcionadas:

    --with-opt-dir
    --without-opt-dir
    --with-opt-include
    --without-opt-include=${opt-dir}/include
    --with-opt-lib
    --without-opt-lib=${opt-dir}/lib
    --with-make-prog
    --srcdir=.
    --curdir
    --ruby=c:/server/ruby/bin/ruby

Estas son las opciones de configuración que se proporcionan al archivo ruby ?? extconf.rb durante la instalación de la gema.

He instalado MinGW , así que debería tener todo lo que necesito para instalar, hacer y compilar estas gemas.
Sin embargo, no sé cómo cambiar la configuración de RubyGems de modo que cuando se llama a extconf.rb incluye las opciones apropiadas que apuntan a MinGW directorio de inclusión.

¿Fue útil?

Solución

Hay un DevKit que bien podría ser lo que buscas.

Otros consejos

No sé si esto funciona con Windows Ruby nativo, pero si usa la versión Cygwin y tiene un Cygwin completo instalado (compiladores, etc.), entonces no debería tener ningún problema, hemos podido usar muchas gemas que requieren material compilado.

Yardboy,

Lástima que no mencionaste qué gema estás tratando de actualizar, solo pones allí la salida de opciones.

Además, algunas de estas gemas necesitan encabezados y bibliotecas de desarrollo, no solo el compilador (MinGW).

Además, MinGW funcionará siempre que la compilación de Ruby que tenga se cree con MinGW.

Se está trabajando para facilitar esto, pero se necesitan compiladores, encabezados y requisitos de biblioteca en todas las plataformas, no solo en Windows.

Puede encontrar más información y recursos en mi blog

Saludos.

Tuve el mismo problema.

La única forma en que encontré para obtener gemas que no tenían binarios precompilados, como parsetree, para ejecutar en Windows fue recompilar la fuente de Ruby usando Mingw, así como copiar varias bibliotecas y aplicaciones de la instalación visual c ++ I ya tenía. Lo que copié incluyó la biblioteca zlib, así como la biblioteca iconv y la aplicación.

Nota: Estoy usando esta configuración como una configuración de prueba. No usaría una configuración de este tipo para la producción (ya que quién sabe qué sucede cuando una biblioteca de una distribución a otra).

En general, en mi experiencia, el código diseñado para un sistema Unix puede ser muy difícil de hacer funcionar en MinGW. Para un puerto rápido, use CygWin. O haga un puerto completo del software al host de Windows, incluido el uso de shell de Windows nativo y API del sistema operativo, que es bastante costoso en términos de tiempo, pero vale la pena si planea admitir Windows a largo plazo.

No estoy familiarizado con este paquete de software en particular, esto es solo una observación general sobre cómo tratar de portar algunas otras piezas de código dañinas a Windows.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top