Diferencia entre revisiones de «Ruby»
(→Manejadores de versiones) |
|||
(Una revisión intermedia por el mismo usuario no mostrado) | |||
Línea 72: | Línea 72: | ||
<pre> | <pre> | ||
rbenv rehash | rbenv rehash | ||
+ | </pre> | ||
+ | |||
+ | === Script preparación rbenv === | ||
+ | Estos son los pasos que se han ejecutado en una máquina para tener lista de forma automática una versión de ruby funcionando en uno directorio cualquiera. | ||
+ | |||
+ | <pre> | ||
+ | git clone https://github.com/rbenv/rbenv.git ~/.rbenv | ||
+ | git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build | ||
+ | echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile | ||
+ | ~/.rbenv/bin/rbenv init 2>> ~/.bash_profile | ||
+ | source ~/.bash_profile | ||
+ | mkdir ~/r10k-work | ||
+ | cd ~/r10k-work | ||
+ | yum install -y gcc bzip2 openssl-devel libyaml-devel libffi-devel readline-devel zlib-devel gdbm-devel ncurses-devel | ||
+ | rbenv install 1.9.3-p551 | ||
+ | rbenv local 1.9.3-p55 | ||
+ | gem install --no-rdoc --no-ri r10k | ||
+ | source ~/.bash_profile | ||
</pre> | </pre> | ||
Línea 81: | Línea 99: | ||
Hace unos años existía el REE (Ruby Enterprise Edition) que se hizo bastante famos a la hora de usar Rails, mezclado con passenger, pero en 2012 fue descontinuado. | Hace unos años existía el REE (Ruby Enterprise Edition) que se hizo bastante famos a la hora de usar Rails, mezclado con passenger, pero en 2012 fue descontinuado. | ||
+ | |||
+ | |||
+ | == Frameworks == | ||
+ | |||
+ | En ruby te puedes encontrar muchos frameworks que facilitan la vida del programador dependiendo de que tipo de aplicación se quiera hacer. Las más famosas son: | ||
+ | |||
+ | * Rubi on Rails | ||
+ | * Sinatra | ||
+ | |||
+ | [https://blog.engineyard.com/2014/rails-vs-sinatra Este articulo] muestra una comparativa entre los dos |
Última revisión de 06:30 4 may 2016
Como siempre, aclaro que estoy son algunos apuntes que voy cogiendo mientras voy leyendo documentación y que puede haber muchas cosas que falten o malentendidos, así que aconsejo si alguien lo está leyendo que busque más información.
Contenido
Manejadores de versiones
Se puede instalar Ruby desde paquetería, o se puede incluso compilar una versión especifica, pero por lo que he visto por ahí la gente prefiere utilizar scripts que te gestionan el tener diferentes versiones de Ruby en tu sistema.
Entre ellos destacan dos
- RVM
- rbenv
Este segundo parece tener más fama por ser más sencillo para gestionar las versiones, así que de momento me centro en trabajar con él
Instalación de rbenv
He visto que en ubuntu 14.04 se ofrece de paquetería, pero también se puede bajar con Git, y he decidido hacerlo de esta forma. Existe este tutoria bastante sencillo y conciso, sobre osx pero que aplica muy bien aqui
cd git clone https://github.com/sstephenson/rbenv.git ~/.rbenv echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> .bashrc echo 'eval "$(rbenv init -)"' >> .bashrc
Por si solo rbenv no descarga versiones, pero han añadido un plugin muy bueno que hace que con un comando te descargue la versión que necesites, así que seguimos añadiendo lo siguiente:
cd git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
Y para para finalizar cargamos el .bashrc que acabamos de modificar
source ~/.bashrc
con esto ya podemos ejecutar rbenv.
Instalación de versiones
Para ver la lista de versiones que tenemos disponibles:
rbenv install -l
Y para instalar una en concreto,
rbenv install 1.9.3-p0
Cambiando entre versiones
Por defecto rbenv siempre nos dejará la versión del sistema si es que la tenemos instalada. Hay dos formas de cambiar de version:
- local
- global
La forma local se hace con el siguiente comando:
rbenv local 1.9.3-p0
Esto nos creará un fichero en el directorio actual .ruby-version, que contiene la version que hemos especificado, y cualquier ejecución de ruby dentro de este path, incluso por directorios contenidos en él, ejecutará esa version.
La otra forma es la global, que cambiara a esa versión de ruby por defecto para el usuario.
Las gemas, las versiones y Rehash
Muy importante tener en cuenta que cada vez que instalamos una gema lo hacemos para la version que estamos ejecutando en ese momento, y no se comparten gemas entre diferentes versiones, para no tener problemas de compatibilidades entre diferentes versiones.
Hay gemas que añaden comandos a la shell, y con rbenv no van a estar dispoinibles de primeras, pero si lo estarán si después de instalar la gema, como bundler, ejecutamos
rbenv rehash
Script preparación rbenv
Estos son los pasos que se han ejecutado en una máquina para tener lista de forma automática una versión de ruby funcionando en uno directorio cualquiera.
git clone https://github.com/rbenv/rbenv.git ~/.rbenv git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile ~/.rbenv/bin/rbenv init 2>> ~/.bash_profile source ~/.bash_profile mkdir ~/r10k-work cd ~/r10k-work yum install -y gcc bzip2 openssl-devel libyaml-devel libffi-devel readline-devel zlib-devel gdbm-devel ncurses-devel rbenv install 1.9.3-p551 rbenv local 1.9.3-p55 gem install --no-rdoc --no-ri r10k source ~/.bash_profile
Diferentes interpretes de Ruby
Para una información completa se puede ver esta página
Por resumir, la versión de Ruby "oficial" es la Ruby MRI, mantenida por el equipo de Yukihiro Matsumoto, que es el creador de Ruby, pero existen diferentes visiones de como interpretar ruby, para diferentes escenarios, y asi podemos encontrar otros como JRuby, Rubiniux o MRuby entre otros, que pueden ser mejores en ciertos aspectos.
Hace unos años existía el REE (Ruby Enterprise Edition) que se hizo bastante famos a la hora de usar Rails, mezclado con passenger, pero en 2012 fue descontinuado.
Frameworks
En ruby te puedes encontrar muchos frameworks que facilitan la vida del programador dependiendo de que tipo de aplicación se quiera hacer. Las más famosas son:
- Rubi on Rails
- Sinatra
Este articulo muestra una comparativa entre los dos