No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

No se trata de lo que quieres comprar, sino de quién quieres ser. Invierte en tu educación con el precio especial

Antes: $249

Currency
$209

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscríbete

Termina en:

11 Días
17 Hrs
59 Min
32 Seg
Curso de Ruby

Curso de Ruby

Simón Soriano

Simón Soriano

Bundler y gemas

18/39
Recursos

Aportes 27

Preguntas 9

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Ojo el Faker de Harry potter ya cambio , la nueva forma de invocarlo es asi
Faker::Movies::HarryPotter

Bundler nos permite gestionar las dependencias de librerias(gemas) para nuestros proyectos ruby
Para instalar bundler ejecutamos el comando

gem install bundler

Ahora disponemos del comando bundle. Con el comando bundle init generamos un archivo llamado Gemfile donde podemos definir las dependencias de gemas para nuestro proyecto ruby

Agregando gemas a Gemfile

gem 'faker'

Es una buena practica especificar la version

gem 'faker', '~> 1.9'

Ahora es el momento de confirmar nuestras dependencias utilizando el comando

bundle install

Esta instruccion verifica las dependencias y procede a instalar las gemas. Tambien generará un archivo llamado Gemfile.lock que especifica las versiones de gemas utilizadas en nuestro proyecto

Donde buscar gemas:

Derrepnte a nadie le sirva esto, pero a mi me salia con un error con que no tenia permiso de escritura (You don’t have permissions for the …) y no me dejaba instalar bundler, asi que ejecute este comando y se instalo correctamente:

sudo gem install bundler -n /usr/local/bin

gemFile es como el package.json de NODE ❤️

Manejo de dependencias en Ruby

Instalar individualmente cada una de las gemas (como se les conoce a las librerías de ruby) de las que depende un proyecto puede ser muy engorroso, para ello utilizamos Bundler, un manejador de dependencias para Ruby.

Bundler nos ayuda algunos beneficios como:

  • Cualquier persona puede crear y publicar una gema, la cual tendrá por defecto unos estándares mínimos acordados por la comunidad.
  • Instalar una gema es muy fácil, solo debes ejecutar un comando “grn install …”
  • Mantener una documentación actualizada con la lista de gemas y la ultima versión de cada una ellas.
  • Poder tener varias versiones de la misma gema.
  • Agrupación de dependencias como forma de definir diferentes ambientes de la aplicación (desarrollo, producción y pruebas).

Conceptos extraídos de :

Bundler y gemas


Una de las ventajas Ruby es que manejan muchas convenciones y muchos estándares. A diferencia de otra comunidades de desarrollo hay muchos conflictos en cuánto a cuál herramienta se debe usar para cada tarea.

  • Bundler → Es una manejador de dependencias para Ruby. (Tienes que instalarlo)
# Para instalar el bunder
gem install bundler

# Aquí vemos la versión
bundle --version

# Así iniciamos un proyecto con el bundle
bundle init

# Para instalar las dependencia que hemos especificado en el archivo de Gemfile
bundle install

# Para utilizar especifcamente la gema que solicitamos
bundle exec irb

# Y si vamos a ejecutar un archivo
bundle exec ruby archivo.rb

Es una buen practica especificar la versión de la gema que estamos usando.

gem 'faker', '~> 2.14'

Ahora para manejar la gemas vamos a la terminal

# Nos retorna un booleano para saber si fue incluida la gem
require 'faker'

# Ya podmeos utilizar la gem
Faker::Movies::LordOfTheRings

¿En ruby siempre toca instalar todo de manera global, o se pueden crear entornos virtuales como en python?

Aqui pueden buscar las gemas publicas: RubyGems

Estoy tratando de descargar RVM pero no me deja tengo windows y uso un bash de ubuntu

¿Qué son las gemas de Ruby?

Son paquetes de librería para ruby, ayudan a ser más eficientes al crear código y además a ahorrar tiempo.

El método de invocación dependera de la versión instalada, leer siempre la documentación chicos! Break ❤️.

Diciembre 2020

Faker::Movies::HarryPotter.character #=> "Harry Potter"

La versión corta de bundle install es escribir solo bundle

No me quedó muy claro por qué usar …

bundle exec

¿Alguien me explica? Por favor 👏

Tengo este error al momento de instalar RVM alguien puede ayudarme uso un bash de ubuntu con windows

Con 'bundle exec’
me aseguro que se utilice la versión de la gema que se definió en el gemfile.

rbenv users need to run rbenv rehash after installing bundler.

Estoy en Windows 11 y al ejecutar el archivo con bundle exec ruby main.rb me genera error

D:\proyectos\Wompy\platzi\curso_ruby\snake>bundle exec ruby main.rb
C:/Users/ceragos/.local/share/gem/ruby/3.2.0/gems/i18n-1.14.0/lib/i18n.rb:210:in `translate': wrong number of arguments (given 2, expected 0..1) (ArgumentError)
        from C:/Users/ceragos/.local/share/gem/ruby/3.2.0/gems/faker-1.9.6/lib/faker.rb:155:in `translate'
        from C:/Users/ceragos/.local/share/gem/ruby/3.2.0/gems/faker-1.9.6/lib/faker.rb:98:in `fetch'
        from C:/Users/ceragos/.local/share/gem/ruby/3.2.0/gems/faker-1.9.6/lib/faker/movies/harry_potter.rb:28:in `spell'
        from main.rb:3:in `<main>'

Perro al ejecutarlo así ruby main.rb se soluciona

D:\proyectos\Wompy\platzi\curso_ruby\snake>ruby main.rb
Accio

Estoy en Windows 11 usabando vscode, configure la consola de bash y me presentaba un error al usar bundle --version

$ bundle --version
/c/Users/ceragos/AppData/Local/Microsoft/WindowsApps/bundle: line 6: /c/Users/ceragos/AppData/Local/Microsoft/WindowsApps/ruby: No such file or directory

Cambie a la consola de windows CMD y esto solucionó mi problema.

Me ganaron los desarrolladores de Faker con incluir a Cowboy Bebop
.

¡Cuidado! Si estás trabajando en Mac debes saber que macOS viene con una version anticuada de Ruby que no te servirá para instalar algunas gemas. NO DEBES ACTUALIZAR la versión de Ruby que viene con macOS, tienes que instalar una nueva versión de ruby que trabaje en paralelo con la versión de ruby de macOS para no comprometer la funcionalidad de tu sistema operativo. Mas información aquí

que mal explicado por favor!! el link que dice no está. y no. yo no tengo ese codigo base como el lo tiene

Les comparto la ruta que encontré con Chat-GPT para instalar rvm:

Para instalar RVM (Ruby Version Manager) en Ubuntu, sigue estos pasos:

Abre una terminal en Ubuntu.
1. Asegúrate de que todas las dependencias del sistema estén actualizadas. Ejecuta el siguiente comando:

sudo apt-get update

2. Instala las dependencias necesarias para RVM. Ejecuta el siguiente comando:

sudo apt-get install curl gnupg2 dirmngr

3. Descarga e importa la llave GPG de RVM. Ejecuta el siguiente comando:

curl -sSL https://rvm.io/mpapis.asc | gpg2 --import -
(Puede que en este caso les salga un problema como a mi y usé este: gpg2 --keyserver hkp://keyserver.ubuntu.com --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB)

4. Descarga e instala RVM. Ejecuta el siguiente comando:

curl -sSL https://get.rvm.io | bash -s stable

5. Añade RVM al archivo de configuración de la shell actual. Ejecuta el siguiente comando:

source ~/.rvm/scripts/rvm

6.Verifica que RVM se haya instalado correctamente ejecutando el siguiente comando:

rvm --version

Espero les sirva.

Me aparecía este error: `translate’: wrong number of arguments
Y lo solucioné cambiando la línea del Gemfile por esta:

gem 'faker', :git => 'https://github.com/faker-ruby/faker.git', :branch => 'master'

Sino les funciona usen sudo al principio.

excelente la de ruby-toolbox.

Revisar la gema instalada

Nice, buena explicación de bundler y qué hace.