Site is under maintenance mode. Please wait few min!
Saltar al contenido

Una introducción a Let’s Encrypt

marzo 4, 2020

 

Introducción

Los RubyGems es una herramienta que gestiona el ciclo de vida paquetes de aplicaciones de Ruby desde su creación hasta su distribución. Si alguna vez ha trabajado con una aplicación basada en Ruby, es probable que tenga RubyGems utiliza para administrar dependencias, bibliotecas o marcos (por ejemplo Rubí-on-rails).

En este artículo digitalocean, vamos a aprender todas las partes y piezas de RubyGems importantes, desde las más básicas a las funciones más avanzadas. Si usted está planeando trabajar con (o uso) de Ruby en el largo plazo, el dominio de esta herramienta se puede traducir en una gran cantidad de la eficiencia de su trabajo.

Glosario

1. Los gestores de paquetes y el formato RubyGems

1. What Is A Package Manager?
2. Application Packages
3. What Is RubyGems?
4. What Is A Gem?

2. RubyGems Gem paquete

1. Gem Information And Format
2. The `*.gemspec` File

3. Introducción Con RubyGems

1. Installing Ruby And RubyGems
2. Usage

4. rubygem principal de operaciones para trabajar con Gemas

1. Finding Installed And Available Gems
2. Searching RubyGems.org For Gems
3. Installing New Gems
4. Finding Outdated Gems
5. Updating Gems
6. Removing / Deleting Gems
7. Reading The Gem Documentation

Los gestores de paquetes y el RubyGems

¿Qué es un Gestor de paquetes?

En términos de ordenadores, casi todo consiste en conexiones y colecciones entre los diferentes programas. En el momento de arrancar la máquina, un montón de código es ejecutado, el cual a su vez carga algunos otros. Una pirámide se construye, formando la plataforma final, que le permite ejecutar las aplicaciones de nivel superior que se requieren (por ejemplo Rubí!).

Como se puede ver en la representación básica anterior del ciclo de vida de ejecución de la aplicación, todo depende de los demás cuando se trata de programas. Y este ciclo se inicia durante la fase de desarrollo.

Con el fin de facilitar el proceso de descarga e instalación de bibliotecas que dependen de los programas, especialmente en la actualidad, un conjunto de herramientas conoce como gestores de paquetes se utilizan en gran medida. Estas herramientas hacen que sea muy fácil de encontrar, instalar y mantener un registro de todas las demás bibliotecas que, como desarrollador, sus programas necesitan.

paquetes de aplicación

que se distribuyen a través de estas herramientas son generalmente simples archivos que contienen programas y metadatos. Existen diferentes gestores de paquetes para gestionar dependencias diferentes lenguajes de programación – y cada uno de ellos de nombre de sus paquetes de manera diferente.

Aplicación Paquetes

En pocas palabras, los paquetes de aplicaciones ya contienen compilados y listos para el uso de software o bibliotecas que utilizan otros. Ellos pueden (y suelen) vienen con archivos adicionales para dar información sobre el paquete, ya pesar de la importancia, sólo a veces con el uso de un manual decente. Una vez que el gestor de paquetes se instala un paquete, todos estos elementos se hacen accesibles dentro del entorno en el que se fijan (por ejemplo, un RVM Gemset).

¿Qué es RubyGems?

En el caso de Rubí, el valor predeterminado gestor de paquetes se llama los RubyGems. Este programa se ha distribuido con el intérprete de Ruby por defecto desde la versión 1.9 y le ayuda con muchas cosas de la descarga de envasado y distribución de aplicaciones Ruby – y por supuesto, los binarios y bibliotecas relevantes. RubyGems es muy rica, y probablemente uno de los más maduros aplicaciones de gestión de paquetes que existe. Se ofrece a los desarrolladores una estructura estándar, junto con un formato estándar para tratar con colecciones de aplicaciones (paquetes) llamados gemas.

Qué es una joya?

Un Gem es un paquete de aplicaciones muy similar en estructura a la descripción genérica que acabamos de dar. Puede ser una colección de código, bibliotecas, lista de las dependencias y algunos meta-datos adicionales, definiendo el paquete que se distribuye con la herramienta de la gema de rubíes s.

La forma más sencilla de empezar a trabajar con programas es usar estos paquetes en el desarrollo de aplicaciones basadas en Ruby (o Ruby relacionados). En este tutorial, vamos a aprender a utilizar las RubyGems de trabajar y manejar paquetes basados ​​Gem. Formato

RubyGems Gem paquete

Información de la gema y el formato

Como hemos mencionado anteriormente, una joya es un paquete que contiene diferentes conjuntos de componentes. Cada joya tiene una versión y una definición básica de la plataforma que fue construido para. directorios

la gema pueden contener lo siguiente: Código

    Aplicación

  • ; Análisis
  • ;
  • Descripción de dependencias;
  • binarios

  • ;
  • documentación pertinente;
  • Información

  • respecto el paquete (por ejemplo gemspec). código

Aplicación

; Análisis

;

Descripción de dependencias;

binarios

;

documentación pertinente;

Información

respecto el paquete (por ejemplo gemspec).

Y tienen una estructura básica similar a la siguiente:

/[package_name] # 1
|__ /bin # 2
|__ /lib # 3
|__ est # 4
|__ README # 5
|__ Rakefile # 6
|__ [name].gemspec # 7

[package_name]: El directorio principal raíz del paquete de la gema.

/ bin: ubicación de los binarios ejecutables si el paquete tiene ninguna.

/ lib: Directorio que contiene el código de la aplicación de rubíes principal (inc módulos.).

/ test: Localización de archivos de prueba.

Rakefile: El Rakefile para las bibliotecas que utilizan Rastrillo para construye.

[nombre de paquete] .gemspec: archivo .gemspec *, que tiene el nombre del directorio principal, contiene todos los meta-datos de paquete, por ejemplo, nombre, versión, directorios, etc.

El archivo gemspec

muy parecido a cualquier colección de aplicaciones que se distribuye o compartida, gemas también vienen con un archivo que describe el paquete, que también tiende a contener alguna información adicional muy útil.

Estos archivos gemspec contiene ciertos datos requeridos, tales como la versión del paquete, el nombre del mantenedor y la plataforma, con la posibilidad de algunos atributos opcionales, tales como llaves, información de contacto o descripción adicional. archivo

Un gemspec es similar al siguiente ejemplo:

Gem::Specification.new do |s|
s.name = 'myapp'
s.version = '1.5.7'
s.licenses = ['Apache']
s.summary = "My application package"
s.description = "Optional, longer description."
s.authors = ["Maintaner Name"]
s.files = ["patho/files", "additional/files", ..]
end

Introducción a RubyGems

Instalación de rubí y RubyGems

Si no ha instalado Ruby, y por lo tanto los RubyGems, puede seguir uno de los dos enlaces siguientes conseguirlo en su plataforma de elección.

  • CentOS / RHEL: Cómo instalar Rubí 2.1.0 en CentOS 6.5 Utilización de RVM
  • Ubuntu / Debian: Cómo instalar Rubí 2.1.0 En Ubuntu 13 Con RVM

CentOS / RHEL: Cómo instalar Rubí 2.1.0 en CentOS 6.5 Utilización de RVM

Ubuntu / Debian: Cómo instalar Rubí 2.1.0 en Ubuntu 13 con RVM

Uso

Trabajo con RubyGems es muy fácil. Una vez que instalar Ruby, la aplicación debe ser configurado en su camino y usted puede comenzar a utilizar la herramienta de la gema tipificación dentro del emulador de terminal (por ejemplo terminal para OS X, masilla para Windows, etc.).

Run joya para ver algunas instrucciones de uso y ejemplos:

gem

# RubyGems is a sophisticated package manager for Ruby. This is a
# basic help message containing pointers to more information.

# Usage:
# gem -h/--help
# gem -v/--version
# gem command [arguments...] [options...]

Como se puede ver, trabajando con la gema consiste en encadenar un comando con argumentos y opciones, por ejemplo:

gem help commands

# GEM commands are:

# build Build a gem from a gemspec
# cert Manage RubyGems certificates and signing settings
# check Check a gem repository for added or missing files
# ..

Tip: Cuando se ejecuta un comando como el rubí o rastrillo, las búsquedas del sistema operativo a través de una lista de directorios para encontrar un archivo ejecutable con ese nombre. Esta lista de vidas directorios en una variable de entorno llamada PATH, con cada directorio de la lista separada por dos puntos:

/ usr / local / bin locales: / usr / bin: / bin

directorios en la ruta se buscan de izquierda a derecha , por lo que un ejecutable correspondiente en un directorio al principio de la lista tiene prioridad sobre otra al final. En este ejemplo, el directorio / usr / local / bin se buscará en primer lugar, a continuación, / / ​​bin local, entonces / bin.

Al instalar Ruby, tanto el intérprete de Ruby y los RubyGems joya se añaden a su PATH.

principal rubygem Operaciones de trabajar con gemas

empezando a aprender un nuevo lenguaje de programación también significa aprender a trabajar con las herramientas relacionadas básicos y comunes, tales como los RubyGems para Ruby. Sin complicar demasiado las cosas, vamos a ver las operaciones básicas que usted necesita saber cuándo empezar a utilizar esta herramienta de gestión de paquetes.

Por lo general, las principales operaciones con cualquier gestor de paquetes puede ser considerado como:

  • encontrar lo que está instalado en el sistema;
  • La búsqueda y el descubrimiento de nuevos paquetes;
  • averiguar qué paquetes necesitan actualización;
  • Instalación de otros nuevos;
  • Actualización de las antiguas;
  • Extracción (o eliminar) los paquetes;
  • limpieza hasta lo que ya no es necesario;
  • Comprobación de la documentación.

encontrar lo que está instalado en el sistema;

La búsqueda y el descubrimiento de nuevos paquetes;

averiguar qué paquetes necesitan actualización;

Instalación de otros nuevos;

Actualización de las antiguas;

Extracción (o eliminar) los paquetes;

limpieza hasta lo que ya no es necesario;

Comprobación de la documentación. de

dejan ver cómo realizar estas operaciones con RubyGems.

Finding instalado y disponible Gems

Se puede pensar en encontrar todas las gemas instaladas actualmente como obtener una lista de sus nombres. Por lo tanto

recordando que el comando lista es lo que necesita para esta operación.

Ejecutar lo siguiente para obtener una lista de las gemas instalados con sus versiones:

gem list

# ** LOCAL GEMS ***

# actionmailer (4.0.2)
# actionpack (4.0.2)
# activesupport (4.0.2)
# bundler (1.5.3, 1.5.2)
# capistrano (3.1.0)
# coffee-rails (4.0.1)
# coffee-script (2.2.0)
# coffee-script-source (1.7.0, 1.6.3)
# execjs (2.0.2)
# i18n (0.6.9)
# ..

Buscando RubyGems.org Gems

Si ya conoce el nombre de una joya, puede utilizar el comando de búsqueda para buscar.

A cambio, usted volverá a tener una lista de gemas y sus versiones.

Ejecutar el siguiente para buscar una joya por su nombre:

# Usage: gem search [name]
# Example:
gem search rails

# *** REMOTE GEMS ***

# rails (4.0.2)
# rails-3-settings (0.1.1)
# rails-action-args (0.1.1)
# rails-admin (0.0.0)
# ..

Nota: Se pueden utilizar expresiones regulares con el nombre joya consultado. También se puede pasar la opción -d para obtener información adicional, por ejemplo .:

gem search rails_utils -d

# *** REMOTE GEMS ***

# rails_utils (2.1.4)
# Author: Winston Teo
# Homepage: https://github.com/winston/rails_utils
#
# Rails helpers based on opinionated project practices.

Instalación de nuevas gemas

Una vez que haya encontrado una joya que desea instalar, puede simplemente usar el comando de instalación.

Ejecutar lo siguiente para instalar una nueva joya:

# Usage: [sudo] gem install [name]
# Example:
gem install rails_utils

# Fetching: rails_utils-2.1.4.gem (100%)
# Successfully installed rails_utils-2.1.4
# Parsing documentation for rails_utils-2.1.4
# Installing ri documentation for rails_utils-2.1.4
# Done installing documentation for rails_utils after 0 seconds
# 1 gem installed

Nota: Al instalar una nueva joya, todas las dependencias especificadas dentro de la gema también se instalan de manera que la gema puede en realidad el trabajo.

Para descargar una versión específica de una joya, utilice la siguiente:

# Usage: [sudo] gem install [name] -v [version]
# Example:
gem install rails -v 4.0

Finding que han sido superados Gems

Con el fin de averiguar qué gemas son anticuadas (es decir, existe una versión más reciente), puede utilizar el comando obsoleto. Esto, de nuevo, le proporcionará una lista de gemas con sus versiones instaladas actualmente (es decir joyas locales ).

Ejecutar el siguiente para saber qué son anticuadas gemas:

gem outdated

# builder (3.1.4 < 3.2.2) # bundler (1.5.2 < 1.5.3) # coffee-script-source (1.6.3 < 1.7.0) # jquery-rails (3.0.4 < 3.1.0)

Actualización de gemas

Después de ver qué gemas necesitan una renovación, simplemente puede hacerlo utilizando el comando de actualización.

Ejecutar lo siguiente para actualizar una joya:

# Usage: [sudo] gem update [name]
# Example:
gem update bundler

# Updating installed gems
# Updating bundler
# Fetching: bundler-1.5.3.gem (100%)
# Successfully installed bundler-1.5.3
# Parsing documentation for bundler-1.5.3
# Installing ri documentation for bundler-1.5.3
# Installing darkfish documentation for bundler-1.5.3
# Done installing documentation for bundler after 6 seconds
# Gems updated: bundler

Extracción / eliminación de las gemas

Extracción de una joya desde su máquina local se realiza con el comando de desinstalación, de manera similar a la instalación.

Ejecutar lo siguiente para quitar / eliminar una joya:

# Usage: [sudo] gem uninstall [name]
# Example:
gem uninstall bundler

Alternativamente, se puede especificar una versión de eliminar únicamente que uno.

# Usage: [sudo] gem uninstall [name] -v [version]
# Example:
gem uninstall bundler -v 1.0.0

# Successfully uninstalled bundler-1.0.0

Lectura La gema Documentación

Una de las cosas más útiles e importantes sobre gemas es que [deben] vienen con una buena documentación para que pueda empezar a trabajar con ellos rápidamente. La forma más sencilla de ir con la documentación es ejecutar un servidor local donde tendrá acceso a las instrucciones de uso de todas las gemas instaladas.

Ejecutar las siguientes acciones para ejecutar un servidor de documentación:

gem server

# Server started at http://0.0.0.0:8808
# Server started at http://[::]:8808

ahora puede acceder a http://0.0.0.0:8808 utilizando su navegador favorito, encontrar la joya que le gustaría aprender más sobre y leer su documentación.