rails para kali instalar descargar comando codigofacilito actualizar ruby gem precompiled

para - instalar ruby on rails en windows 10



¿Cómo precompila las extensiones nativas de una gema de rubí para Linux? (2)

Tenemos una aplicación de ruby ​​que depende de una gema con extensiones nativas (en este caso específico, Nokogiri). Sin embargo, por diversas razones no podemos instalar los requisitos previos de compilación (como build-essential, libxslt-dev, ruby-dev, etc.) para esa gema en nuestro host de producción.

¿Hay alguna manera (estándar?) De volver a empaquetar la gema con las extensiones nativas preconstruidas?

Debería ser posible (parece ser bastante estándar hacer esto para Windows), pero no puedo encontrar ninguna documentación sobre el tema.

Tenga en cuenta que solo necesitamos admitir una única plataforma, con versiones conocidas de todas las bibliotecas del sistema (Ubuntu 9.04 Server 64 bit, Ruby 1.8.7).

ACTUALIZACIÓN: estamos utilizando Bundler, por lo que queremos tener todavía una joya para instalar al final del día, no un paquete de Debian .


Finalmente encontré una forma de hacer esto para las gemas que usan compilador de compilación para construir sus extensiones C (que es la mayoría de ellas).

Debe hacer lo siguiente en una máquina que sea idéntica a la que desea implementar, o simplemente no funcionará:

Instale los requisitos previos de compilación para crear extensiones C:

# apt-get install build-essentials ruby-dev # ... etc # gem install rake-compiler

Desempaque la gema que quiere reconstruir:

$ gem unpack nokogiri

Construye tu nueva joya precompilada brillante:

$ rake native gem

Ahora puede instalar la gema nativa en una máquina sin herramientas de compilación instaladas:

$ gem install pkg/nokogiri-1.4.3.1-x86-linux.gem Successfully installed nokogiri-1.4.3.1-x86-linux 1 gem installed


Construir la máquina

Para tener la versión correctamente configurada para todas sus gemas ya almacenadas en caché, empaquete todas las gemas en el vendor/cache en una máquina idéntica:

$ bundle package --all

Máquina de Prduction

Instala todas las dependencias de gemas ya almacenadas en caché que requieren tener la versión de plataforma correcta usando la memoria caché de gemas:

$ bundle install --local --deployment