Bundler: comando no encontrado


141

Estoy alojado en un vps, ubuntu 10.04, rails 3, ruby ​​y mysql instalados correctamente siguiendo algunos tutoriales. Si ejecuto bundle checku bundle installobtengo el error '-bash: paquete: comando no encontrado'. Desde gem list --localque veo 'bundler (1.0.2, 1.0.0)' está instalado.

No se que va mal ...

gem environment devoluciones:

 RubyGems Environment:
  - RUBYGEMS VERSION: 1.3.7
  - RUBY VERSION: 1.8.7 (2010-04-19 patchlevel 253) [i686-linux]
  - INSTALLATION DIRECTORY: /opt/ruby-enterprise-1.8.7-2010.02/lib/ruby/gems/1.8
  - RUBY EXECUTABLE: /opt/ruby-enterprise-1.8.7-2010.02/bin/ruby
  - EXECUTABLE DIRECTORY: /opt/ruby-enterprise-1.8.7-2010.02/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86-linux
  - GEM PATHS:
     - /opt/ruby-enterprise-1.8.7-2010.02/lib/ruby/gems/1.8
     - /root/.gem/ruby/1.8
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :benchmark => false
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - http://rubygems.org/

y echo $PATHvuelve:

/opt/myruby/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/bin/gem:/opt/ruby-enterprise-1.8.7-2010.02/lib/ruby/gems/1.8/gems/:/root/.gem/ruby/1.8

y which gemvuelve:

/usr/bin/gem

locate bundle devoluciones:

/opt/ruby-enterprise-1.8.7-2010.02/lib/ruby/gems/1.8/

77
¿has instalado bundler?
shingara

Respuestas:


87

Debe agregar el directorio ejecutable ruby ​​gem a su ruta

export PATH=$PATH:/opt/ruby-enterprise-1.8.7-2010.02/bin

14
Bajo uBuntu 11.04, la última ruta de comando ahora es exportar RUTA = $ RUTA: /var/lib/gems/1.8/bin
Antony

Actualización: bajo ubuntu 11.04, parece que la ruta es irrelevante, porque mientras queramos usar el último RubyGem, solo necesitamos instalar RVM e instalar la versión deseada de Ruby.
Antony

Antony funcionó para mí y he enviado una actualización a la respuesta principal.
Michael Durrant

55
Para Arch Linux, use export PATH = $ PATH: ~ / .gem / ruby ​​/ 2.0.0 / bin (ajuste para su versión de Ruby)
Kostas Maragos

Para uso de rvm export /usr/local/rvm/gems/ruby-1.9.3-p448/bin:$PATHo ENV PATH /usr/local/rvm/gems/ruby-1.9.3-p448/bin:$PATHcon Docker.
crizCraig

199

Mi problema fue que hice:

sudo gem install bundler

Así que me instalé como root más que como yo mismo. Así que lo desinstalé como root, luego lo instalé como yo mismo:

sudo gem uninstall bundler
gem install bundler
rbenv rehash

(último comando para si está utilizando rbenv)

Y funcionó. La ruta "correcta" estaba en .bashrc(u otro perfil de shell), al menos según

$PATH
=> zsh: /Users/myself/.rbenv/shims:/Users/myself/.rbenv/bin: ... etc

pero esperaba que se instalara para mí, no para root. En mi caso, su lugar de instalación correcto está en~/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/bundler


3
rbenv es una alternativa a RVM. Gestiona todas tus diferentes versiones de rubí. Cuando instala una gema con gem installella, la instala junto con la versión de ruby ​​actualmente utilizada, que puede ver cuando lo hace rbenv versions(debe estar marcado con un *). Cuando instala la gema del paquete, puede bundle installgemas que le permitirán instalar gemas por proyecto. Las gemas que gem installsueles tener son cosas como bundler y zeus. Cuando tú gem install, necesitas correr rbenv rehashdespués. Es como es.
xxjjnn

Tuve este problema en Windows. Sonó gem install bundlery todo está bien ahora.
Dan Atkinson

25

... también para Debian GNU / Linux 6.0 :)

export PATH=$PATH:/var/lib/gems/1.8/bin

¿No funcionó para mí, alguna sugerencia? - CAMINOS DE GEM: - /var/lib/gems/1.8 - /kunden/homepages/11/dxxxxxx/htdocs/.gem/ruby/1.8 echo $ PATH ~ / .composer / vendor / bin: / usr / local / bin: / usr / bin: / usr / X11R6 / bin: / bin: / usr / local / ms: /kunden/homepages/11/d3xxxxxx/htdocs/.rvm/bin: /var/lib/gems/1.8/bin: / var / lib / gems / 1.8 / bin
Juan

15

Hice esto (Ubuntu más reciente a partir de marzo de 2013 [creo :)]):

sudo gem install bundler

El crédito va a Ray Baxter .

Si necesita gema, instalé Ruby de esta manera (aunque esto es un impuesto crónico):

mkdir /tmp/ruby && cd /tmp/ruby
wget http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p327.tar.gz
tar xfvz ruby-1.9.3-p327.tar.gz
cd ruby-1.9.3-p327
./configure
make
sudo make install

3

Estoy ejecutando ubuntu 11.10 y el ejecutable del paquete se encuentra en:

/var/lib/gems/1.8/bin

3

Mi solución fue asegurarme de que seleccioné una versión de Ruby para ese repositorio.

Ejemplo: chruby 2.2.2orvm use 2.2.2

λ bundle install
zsh: command not found: bundle

λ ruby -v
ruby 1.9.3p484 (2013-11-22 revision 43786) [x86_64-linux]

### Notice the system Ruby version isn't included in chruby

λ chruby
  ruby-1.9.3-p551
  ruby-2.1.2
  ruby-2.2.1

### Select a version via your version manager

λ chruby 1.9.3

### Ensure your version manager properly selects a version (*)

λ chruby
 * ruby-1.9.3-p551
   ruby-2.1.2
   ruby-2.2.1

λ bundle install
Fetching gem metadata from https://rubygems.org/.........

3

Probablemente la ruta a prueba de distro esté agregando esto a su .bashrc o .zshrc, sea cual sea su shell:

PATH="$(ruby -e 'print Gem.default_dir')/bin:$PATH"

o si ha instalado sus gemas en todo el usuario, use:

PATH="$(ruby -e 'print Gem.user_dir')/bin:$PATH"

2

Para usuarios de rbenv:

$ rbenv versions
2.6.0
$ rbenv global 2.6.0
$ ruby -v
ruby 2.6.0p0
$ gem install bundler
$ rbenv rehash
$ bundle
$ rails -v
Command 'rails' not found
$ rbenv rehash
$ rails -v
Rails 4.2.11.1

1

Asegúrate de hacerlo rbenv rehashal instalar diferentes rubíes


1

Paso 1: Asegúrese de estar en el espacio de trabajo real de la ruta. Por ejemplo, espacio de trabajo / blog $: Paso 2: Ingrese el comando: gem install bundler. Paso 3: ya debe estar configurado para la instalación de paquetes o la actualización de paquetes


1

En mi instalación de Arch Linux, las gemas se instalaron en el ~/.gem/ruby/2.6.0/bindirectorio si se instalaron como usuario o /root/.gem/ruby/2.6.0/binsi se instalaron a través de sudo. Simplemente agregue el apropiado a su $PATHvariable de entorno:

export PATH=$PATH:/home/your_username/.gem/ruby/2.6.0/bin

0

Creo que el ejecutable del paquete está activado:

/opt/ruby-enterprise-1.8.7-2010.02/lib/ruby/gems/1.8/gems/bin y no está en tu $ PATH


0

También puedes crear un enlace simbólico:

ln -s /opt/ruby-enterprise-1.8.7-2010.02/lib/ruby/gems/1.8/gems/bin/bundle /usr/bin/bundle

ln -s /opt/ruby-enterprise-1.8.7-2010.02/lib/ruby/gems/1.8/gems/bin/bundle /usr/bin/bundle¿Debería ser esto con un extra bundleque desea crear enlace simétrico para agrupar en lugar de todo el directorio bin?
Ashish Singh

0

Tuve exactamente el mismo problema y pude resolverlo ejecutando

rbenv rehash

Después de eso bundlefuncionó como se esperaba. Al echar un vistazo a la entrada de rbenv wiki, menciona que rehash debe ejecutarse cuando una gema instalada proporciona comandos.

Instala shims para todos los ejecutables de Ruby conocidos por rbenv (es decir, ~ / .rbenv / version / / bin / ). Ejecute este comando después de instalar una nueva versión de Ruby, o instale una gema que proporcione comandos.

Aparentemente, esto es una molestia que algunas personas han escrito una gema para asegurarse de que nunca más necesiten correr rehashnuevamente. rbenv-gem-rehash


0

Recibí este error rbenv: bundle: command not founddespués de clonar un viejo proyecto de rieles que había construido hace un par de meses. así es como lo hice: para instalar una versión específica del paquete o simplemente ejecute el siguiente comando para instalar el último paquete disponible:

correr gem install bundler

Luego instalé la versión exacta del paquete que quería con este comando:

$ gem install bundler -v "$(grep -A 1 "BUNDLED WITH" Gemfile.lock | tail -n 1)"

[consulte este artículo para obtener más detalles] ( https://www.aloucaslabs.com/miniposts/rbenv-bundle-command-not-found#:~:text=When%20you%20get%20the%20rbenv,to%20install% 20the% 20Bundler% 20gem revise este artículo para más detalles

haz que escuche el trabajo emitiendo este comando

echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.