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.