ver rails mac instalar gems all ruby-on-rails ruby gem rvm bundler

ruby on rails - rails - ¿Por qué Bundle Install está instalando gemas en proveedor/paquete?



ruby gemfile (6)

Cada vez que hago un bundle install todas las gemas se instalan en

app_dir/vendor/bundle

ruta de acceso y consume una gran cantidad de espacio en disco. También traté de instalar gemas donde deberían instalarse, es decir, gemas mientras se desarrollaba con esto:

bundle install --no-deployement

pero esto no funciona para mí y la instalación de gemas en vendor/bundle . ¿Cómo puedo hacer que se instale globalmente para todas las aplicaciones o en la ubicación de las gemas ruby? También intenté eliminar .bundle/config pero nada cambió.

Estoy usando:

rvm version: 1.23.14 ruby version: 2.0.0-p247 rails 3.2.13

Aquí está mi ~/.bash_profile :

export PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin eval "$(rbenv init -)" alias pg=''pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log'' [[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function* [[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function

Mi ~/.bashrc :

PATH=$PATH:$HOME/.rvm/bin # Add RVM to PATH for scripting

Alguna otra información que pueda necesitar:

aman@Amandeeps-MacBook-Pro ~/Projects/qe (develop)*$ which bundle /Users/aman/.rvm/gems/ruby-2.0.0-p247@global/bin/bundle aman@Amandeeps-MacBook-Pro ~/Projects/qe (develop)*$ rbenv which bundle /Users/aman/.rbenv/versions/2.0.0-p247/bin/bundle amandeep@Amandeeps-MacBook-Pro ~/Projects/qe (develop)*$ rbenv which ruby /Users/aman/.rbenv/versions/2.0.0-p247/bin/ruby aman@Amandeeps-MacBook-Pro ~/Projects/qe (develop)*$ rbenv gemset active rbenv: NO such command `gemset'' aman@Amandeeps-MacBook-Pro ~/Projects/qe (develop)*$ which rails /Users/aman/.rvm/gems/ruby-2.0.0-p247@global/bin/rails

Intenté esto también pero no ayudó:

bundle install --system

y eliminando el directorio .bundle .

Ayúdame a instalar gemas en gemas, no en vendor/bundle o en un lugar predeterminado.


  1. Use bundle env para ver las rutas y la configuración del paquete

  2. Después de establecer la ruta del paquete a ~/.rvm/gems/ruby-2.0.0-p247 esta manera:

    bundle install --path ~/.rvm/gems/ruby-2.0.0-p247

    que es global y también puede usar su propia ruta personalizada.

  3. Publica esta bundle install y nunca volverá a necesitar la path y siempre instalará todas tus gemas en ese directory(~/.rvm/gems/ruby-2.0.0-p247 in my case ) para esa aplicación que no app_folder/vendor/bundle en la app_folder/vendor/bundle


En la carpeta del proyecto, tendrá el directorio .bundle que contiene la configuración de bundler . intenta borrar esa carpeta. debería restablecer la ruta de instalación de sus gemas a la configuración de todo el sistema.

En el caso de que solo desee editar la ruta de instalación, al abrir .bundle/config con su editor favorito, debe mostrarle la ruta a vendor/bundle . Al eliminar esa línea, se restaurará a los valores predeterminados sin eliminar otras configuraciones que pueda tener.

Además, otro escenario menos frecuente es la configuración de todo el sistema está en mal estado. De acuerdo con @NaoiseGolden:

Tuve que eliminar .bundle de mi carpeta de inicio (rm -rf ~ / .bundle). Puede verificar su configuración ejecutando bundle env


En primer lugar, de acuerdo con su información, parece que ha instalado tanto rvm como rbenv. Esa es una muy mala idea . Tienes que eliminar uno de ellos (rbenv + bundler funciona como un amuleto para mí, no intenté rvm).

Con respecto a su pregunta, compruebe .bundle/config en su proyecto, ya que toda la configuración para el paquete de ese proyecto se encuentra allí (si todavía se elimina, puede crear una nueva). Puede querer agregar esta línea (o cambiarla, si ya está allí): BUNDLE_DISABLE_SHARED_GEMS: ''0'' para compartir gemas, van donde se establece su BUNDLE_PATH: ( BUNDLE_PATH: vendor en mi caso).

Para el archivo de configuración global, mire en ~/.bundle/config

También esta página man podría ser de utilidad: configuración de paquete


Intenta ejecutar bundle env . Esto le indicará dónde se configura la ruta.


Intenta instalar usando

bundle install --system

Creo que inicialmente la instalación del paquete se ejecutó con --path flag y bundler ahora recuerda esa confguración.

De la página man de bundler

Algunas opciones se recuerdan entre las llamadas a la instalación del conjunto y el tiempo de ejecución de Bundler.

Las llamadas posteriores a la instalación del paquete instalarán las gemas en el directorio pasado originalmente a --path . El tiempo de ejecución de Bundler buscará gemas en esa ubicación. Puede revertir esta opción ejecutando bundle install --system .

EDITAR : como se menciona en los comentarios a continuación, y también de lo contrario, esto instala el sistema de gemas de ancho. En caso de que esté utilizando rvm, etc. para administrar su entorno para diferentes aplicaciones, verifique la respuesta de @IuriG mencionada anteriormente.


Para instalar Gem en todo el sistema evitando el proveedor / paquete de ruta, simplemente ejecute el siguiente comando en el directorio del proyecto

bundle install --system