run rails que not missing hace gems force could ruby-on-rails ruby rubygems bundler

ruby on rails - rails - ruby-bundle install/update too slow



ruby gems (7)

Acabo de instalar RVM, Ruby, Rails, etc. en mi ubuntu 12.04 virtual de 32 bits en una virtualbox. Ahora me encuentro con el problema de que para mi primer bundle install rieles o la bundle update lleva mucho tiempo. Incluso cuando creo un nuevo proyecto con rieles (que incluye la bundle install ).

Yo uso solo las gemas estándar

source ''https://rubygems.org'' gem ''rails'', ''3.2.12'' # Bundle edge Rails instead: # gem ''rails'', :git => ''git://github.com/rails/rails.git'' group :development do gem ''sqlite3'', ''1.3.5'' end # Gems used only for assets and not required # in production environments by default. group :assets do gem ''sass-rails'', ''3.2.5'' gem ''coffee-rails'', ''3.2.2'' # See https://github.com/sstephenson/execjs#readme for more supported runtimes # gem ''therubyracer'', :platforms => :ruby gem ''uglifier'', ''1.2.3'' end gem ''jquery-rails'', ''2.0.2''

Probé la instalación del paquete sin gemas, pero gem ''rails'', ''3.2.12'' . Después de eso volví a escribir bundle install con todas las gemas en mi gemfile. Me llevó 10 minutos verificar las dependencias. El resultado de --verbose es una combinación de HTTP success HTTP redirection y HTTP redirection .

Versión de rieles: rieles 3.2.12

Versión Ruby: ruby ​​1.9.3p392 (2013-02-22 revision 39386)

Rvm: rvm 1.18.18

paquete de versión: Bundler versión 1.3.2

Ya busqué una solución, pero nada ayudó.


Bundler acaba de recibir una actualización del procesamiento paralelo de gemas.

gem install bundler --pre

resolverá el problema de la mejor manera posible por ahora.

Source


Bundler v1.12.x se lanzó en 2016 y ocasionó que algunos usuarios experimentaran problemas lentos de instalación de paquetes .

En este caso, quedarse con v1.11.2 es la mejor opción (es rápido) hasta que se libere una solución.

Vale la pena ir a Rubygems.org para probar diferentes versiones de la gema del bundler.

Verifique las versiones existentes del paquete, desinstale la versión existente, instale la versión 1.11.2 ejemplo:

gem list | grep bundler gem uninstall bundler -v existing-version-number gem install bundler -v 1.11.2


Cambiar https a http en mi Gemfile hizo la magia. Antes tengo que crear el proyecto con rails new APP --skip-bundle

Quiero advertir aquí, que hay un propósito de seguridad para usar https sobre http. Pruebe al principio las otras respuestas mencionadas en este hilo.


Sé que esta puede ser una respuesta básica, pero intente instalar herramientas de desarrollador desde el sitio principal de Ruby. He tenido un problema similar y funcionó. ¡A veces las soluciones simples son las mejores!

¡Buena suerte!


Si todavía está viendo este problema con Bundler 1.12.5, puede intentar actualizar el OpenSSL utilizado por su Ruby .

Para mí esto fue así:

pmorse$ bundle --version Bundler version 1.12.5 pmorse$ ruby -ropenssl -e ''puts OpenSSL::OPENSSL_VERSION'' OpenSSL 1.0.1j 15 Oct 2014 pmorse$ openssl version OpenSSL 0.9.8zg 14 July 2015 pmorse$ brew info openssl openssl: stable 1.0.2h (bottled) [keg-only]

[... más producción de brew ...]

pmorse$ rvm reinstall ruby-2.2.2 --with-openssl-dir=`brew --prefix openssl`

[... mucha producción de rvm ...]

pmorse$ ruby -ropenssl -e ''puts OpenSSL::OPENSSL_VERSION'' OpenSSL 1.0.2h 3 May 2016

Esto debería hacer que el bundle más rápido nuevamente sin necesidad de pasar de https a http .


También puede usar múltiples trabajos, puede mejorar un poco

bundle install --jobs 8

Aquí hay un tutorial sobre eso


Un método amigable para desarrolladores es anular el servidor de gemas con una alternativa más rápida.

En nuestro caso, podemos configurar http como un espejo para abordar conexiones lentas https :

bundle config mirror.https://rubygems.org http://rubygems.org

Esto le permite mantener la configuración original de Gemfile mientras usa conexiones http más rápidas para buscar gemas.

Si desea volver a https :

bundle config --delete mirror.https://rubygems.org

bundle config tiene una opción predeterminada --global . Puede especificar --local para limitar las configuraciones a la carpeta de la aplicación local.

La configuración se guarda en global ~/.bundle/config y local .bundle/config .