rails instalar ruby-on-rails ruby gemfile

ruby-on-rails - instalar - ruby bundle install windows



¿Cuál es el uso de Gemfile en los carriles? (5)

¿Cuál es el uso de Gemfile en los carriles?

¿Cómo usar Gemfile ?


Durante su desarrollo en Rails, habrá ocasiones en las que querrá proporcionar alguna de las funciones que necesita, pero no sabe cómo hacerlo o no quiere implementarlo por su cuenta ya que muchos El trabajo ha sido puesto en su desarrollo por desarrolladores talentosos.

Estos desarrollos que podría necesitar (autenticación de usuario, sistema de mensajes, manejadores de activos, geolocalización, sistema de paginación, enlaces a servicios externos como Amazon AWS y, por último, pero no menos importante, Rails) se denominan Ruby Gems. Estos son paquetes de software de ruby, no necesariamente relacionados con Rails, pero como Rails se basa en Ruby, el 98% de las gemas pueden estar disponibles para su código de aplicación web Rails.

Se pueden encontrar muchas gemas en github , pero es más divertido buscar gemas a través de ruby-gems o ruby-toolbox

Su gemfile es una lista de todas las gemas que desea incluir en el proyecto. Se utiliza con bundler (también una gema) para instalar, actualizar, eliminar y administrar las gemas usadas.

El gemfile tiene otro propósito: puedes agrupar gemas en :development gemfile :assets , :production , etc. Los grupos y Rails sabrán cuándo incluir las gemas. Por ejemplo:

group :development, :test do gem "rspec-rails" gem "factory_girl_rails" gem "guard-rspec" end

Tenga en cuenta que en Rails 4, el grupo de assets ha quedado en desuso

Estas gemas pertenecen al entorno de desarrollo y al entorno de prueba, ya que son para probar la aplicación. No los necesita disponibles en el entorno de producción (podría hacerlo, pero eso aumentará la memoria innecesariamente).

Entonces, para usar el gemfile , simplemente escriba la gema que desea instalar, como

gem ''devise''

asegúrese de instalar bundler antemano (en su consola / cmd / ssh) con

$ gem install bundler

y luego escribir en la consola

bundle install

¡Notarás que aparece otro gemfile! Gemfile.lock Este archivo, como verás si lo abres con un lector de texto, lista todas tus gemas con su versión y sus dependencias. Esto será útil cuando necesites saber qué versiones de las gemas que instalaste.

Para obtener más información sobre Gemfile , lea en la página del paquete

Para obtener información sobre cómo elegir una gema, puede comenzar con this

¡Buena suerte y diviertete!

Ok, entonces, ¿qué es este Gemfile.lock que se creó?

Gemfile.lock, como su nombre indica es un bloqueo en todas las versiones de todas las gemas que se instalaron. Entonces, si Gemfile es lo que se necesita para instalar, el archivo de bloqueo es lo que se instaló y qué versión realmente se requiere para que la aplicación esté en funcionamiento.

Si no tiene las gemas en esa versión específica (como se especifica en Gemfile.lock), los rieles se quejarán y tendrá que instalar las gemas faltantes (a través de la bundle install ) o corregir cualquier conflicto manualmente (creo que Bundler le dará algunas pistas sobre eso

Algunas cosas que debe saber sobre Gemfile.lock

  • si lo elimina accidentalmente, se regenerará cuando ejecute bundle install . Si borras accidentalmente Gemfile , estás fuera de suerte ... Deberías usar git :)
  • Heroku no se preocupa por Gemfile.lock ya que reinstalará todas las gemas. Por lo tanto, para Heroku, debe configurar la versión de gema que desea, o Heroku siempre instalará la última versión de la gema, lo que puede causar problemas.
  • Mantenga el Gemfile.lock en su proyecto para que siempre sepa qué versión de las gemas hace que su aplicación funcione correctamente.

En primer lugar, ¿qué es una gema?

Según Wikipedia:

RubyGems es un administrador de paquetes para el lenguaje de programación Ruby que proporciona un formato estándar para distribuir bibliotecas y programas Ruby

Gemfile

Un Gemfile es un archivo que creamos que se usa para describir dependencias de gemas para programas Ruby

Ahora, en palabras muy simples:

La gema se puede considerar como una biblioteca que puede usar en su código. Ejemplo: faker gem

Su código puede usar la funcionalidad de faker gem para producir datos falsos.

Ahora puede enumerar todas las gemas que su proyecto requiere en el archivo gem. Cuando haces una instalación de paquete, todas las gemas en tu gemfile se instalan por ti.


Intentaré y daré una respuesta simple.

Explicación por analogía

Supongamos que quieres hacer un coche. Desde cero. Ahora eso será una pesadilla. Necesita construir: el chasis, el motor, el corroborador, el radiador, el enfriamiento, la ventilación, etc. etc. etc.

Las gemas le permiten utilizar piezas de automóviles que otras personas han fabricado antes.

Pero no eres el único que construye un coche. Todos los que alguna vez construyeron un auto, básicamente hicieron las mismas cosas. Ha habido personas inteligentes que han salido y han hecho motores de combustión, etc. mucho antes de que estuvieras ... realmente, no importa.

No necesitas reinventar la rueda. ¿Por qué hacer las suyas cuando puede obtener el mejor equipo directamente del estante? ¿Qué pasaría si pudieras conseguir uno de los mejores motores, creado por los ingenieros más talentosos del mundo, sin mover un dedo? ¿Vas a pasar un año tratando de hacer el tuyo?

Básicamente, en lugar de hacer todo por ti mismo, escribes una lista de todas las partes que necesitas. Y eso es básicamente un archivo de gemas:

  • Motor Rolls Royce
  • Cinturones de seguridad AutoLive
  • Neumáticos Michellin.
  • Faros de noche PIAA
  • etcétera etcétera.

Que mi amigo, es básicamente tu archivo de gemas!


Su sistema puede tener muchas gemas ... por lo tanto, puede tener varias versiones de la misma gem .

Un Gemfile especifica la lista de gems con sus versions que se deben usar / cargar / (instalar si no están presentes) cada vez que ejecuta su aplicación de rieles. o cualquier cosa con el bundle exec . . bundle exec . .


Gemfile s es la configuración de bundler , que se utiliza para administrar las dependencias de Ruby de su aplicación. Ese sitio web incluye una gran cantidad de documentación, incluida la página de manual de Gemfile .