¿Cómo instalar una versión específica de una gema ruby?
Usando la herramienta de línea de comandos gem
, ¿cómo puedo instalar una versión específica de una gema?
6 answers
Utilice la bandera -v
:
$ gem install fog -v 1.8
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-06-10 14:37:15
Utilice el parámetro --version
(acceso directo -v
):
$ gem install rails -v 0.14.1
También puedes usar comparadores de versiones como >=
o ~>
$ gem install rails -v '~> 0.14.0'
O con versiones más recientes de gem incluso:
$ gem install rails:0.14.4 rubyzip:'< 1'
…
Successfully installed rails-0.14.4
Successfully installed rubyzip-0.9.9
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-01-08 11:35:30
Para Ruby 1.9+ use dos puntos..
gem install sinatra:1.4.4 prawn:0.13.0
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-12-18 08:04:14
Para instalar
gem install gemname -v versionnumber
Para desinstalar
gem uninstall gemname -v versionnumber
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-01-26 08:14:45
Como otros han señalado, en general use la bandera -v
para el comando gem install
.
Si estás desarrollando una gema localmente, después de cortar una gema de tu gemspec:
$ gem install gemname-version.gem
Asumiendo la versión 0.8, se vería así:
$ gem install gemname-0.8.gem
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-10-06 22:29:03
Linux
Para instalar una versión diferente de ruby, verifique la última versión del paquete usando apt
como se muestra a continuación:
$ apt-cache madison ruby
ruby | 1:1.9.3 | http://ftp.uk.debian.org/debian/ wheezy/main amd64 Packages
ruby | 4.5 | http://ftp.uk.debian.org/debian/ squeeze/main amd64 Packages
Luego instalarlo:
$ sudo apt-get install ruby=1:1.9.3
Para comprobar cuál es la versión actual, ejecute:
$ gem --version # Check for the current user.
$ sudo gem --version # Check globally.
Si la versión aún es antigua, puede intentar cambiar la versión a nueva usando ruby version manager (rvm
) por:
rvm 1.9.3
Nota: Puede prefijarlo por sudo
si rvm
se instaló globalmente. O ejecute /usr/local/rvm/scripts/rvm
si su comando rvm
es no en su PATH
global. Si el proceso de instalación de rvm falla, consulte la sección solución de problemas.
Solución de problemas:
-
Si todavía tiene la versión anterior, puede intentar instalar rvm (ruby version manager) a través de:
sudo apt-get install curl # Install curl first curl -sSL https://get.rvm.io | bash -s stable --ruby # Install only for the user. #or:# curl -sSL https://get.rvm.io | sudo bash -s stable --ruby # Install globally.
Luego, si se instala localmente (solo para el usuario actual), cargue rvm a través de:
source /usr/local/rvm/scripts/rvm; rvm 1.9.3
Si globalmente (para todos los usuarios), entonces:
sudo bash -c "source /usr/local/rvm/scripts/rvm; rvm 1.9.3"
-
Si todavía tiene problemas con la nueva versión de ruby, intente instalarla rvm via:
source /usr/local/rvm/scripts/rvm && rvm install ruby-1.9.3 # Locally. sudo bash -c "source /usr/local/rvm/scripts/rvm && rvm install ruby-1.9.3" # Globally.
-
Si desea instalar algunas gemas globalmente y ya tiene rvm instalado, puede probar:
rvmsudo gem install [gemname]
En lugar de:
gem install [gemname] # or: sudo gem install [gemname]
Nota: Se prefiere NO usar sudo para trabajar con gemas RVM. Cuando lo haces sudo está ejecutando comandos como root, otro usuario en otro shell y por lo tanto, toda la configuración que RVM ha hecho por usted se ignora mientras el comando se ejecuta bajo sudo (cosas como GEM_HOME, etc...). Así que reitere, tan pronto como 'sudo' se está ejecutando como el sistema raíz usuario que limpiará su entorno, así como cualquier archivo que crea no son capaces de ser modificados por el usuario y dará lugar a están pasando cosas extrañas.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-08-05 08:28:18