Hay gente que en sus primeros pasos queda impresionada por la potencia de Rails y piensa que las "gems" le son propias, pero desconocen que esas gemas pueden ser usadas también cuando hacemos un programa o script, es decir, fuera de Rails.
¿ Dónde están las gemas ?
Preguntamos por el environment del comando "gem" y nos indica la ubícación del depósito de gemas:$ gem env
RubyGems Environment:
- RUBYGEMS VERSION: 1.8.23
- RUBY VERSION: 1.9.3 (2013-11-22 patchlevel 484) [x86_64-linux]
- INSTALLATION DIRECTORY: /var/lib/gems/1.9.1
- RUBY EXECUTABLE: /usr/bin/ruby1.9.1
- EXECUTABLE DIRECTORY: /usr/local/bin
- RUBYGEMS PLATFORMS:
- ruby
- x86_64-linux
- GEM PATHS:
- /var/lib/gems/1.9.1
- /home/user/.gem/ruby/1.9.1
- /usr/share/rubygems-integration/1.9.1
- /usr/share/rubygems-integration/all
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :benchmark => false
- :backtrace => false
- :bulk_threshold => 1000
- REMOTE SOURCES:
- http://rubygems.org/
El directorio /var/lib/gems/1.9.1 de forma genérica y el resto de los GEM PATHS pueden albergarlas. Las gemas estarán accesibles desde cualquiera de esas rutas.
Instalación de gemas
$ gem install mysql2Si queremos instalar una versión concreta tenemos el modificador "-v"
$ gem install mysql2 -v 0.3.14
La ubicación será una de las anteriores. Depende de si eres el usuario root o no. El listado completo de gemas que un usuario tiene accesibles se puede obtener con el siguiente comando:
$ gem list --local *** LOCAL GEMS *** mysql2 (0.4.3, 0.3.16, 0.3.14) actionmailer (4.0.3, 4.0.2) actionpack (4.0.3, 4.0.2) [...]Si queremos eliminar una versión concreta de una gema
$ gem uninstall mysql2 -v 0.3.14
Uso de una gema en un script
El uso de la gema es tan sencillo como incluir "require" y el nombre de la gema.
#!/usr/bin/env ruby require 'mysql2' # Uso de la gema...
No hay comentarios:
Publicar un comentario