Bundler: comando non trovato


141

Sto ospitando su un vps, ubuntu 10.04, rails 3, ruby ​​e mysql installati correttamente seguendo alcuni tutorial. Se corro bundle checko visualizzo bundle installl'errore "-bash: bundle: comando non trovato". Da quello gem list --localche vedo 'bundler (1.0.2, 1.0.0)' è installato.

Non so che cosa non va ...

gem environment ritorna:

 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/

e echo $PATHritorna:

/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

e which gemritorna:

/usr/bin/gem

locate bundle ritorna:

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

7
hai installato il bundler?
shingara,

Risposte:


87

Devi aggiungere la directory eseguibile ruby ​​gem al tuo percorso

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

14
Sotto uBuntu 11.04, l'ultimo percorso di comando è ora export PATH = $ PATH: /var/lib/gems/1.8/bin
Antony

Aggiornamento: sotto Ubuntu 11.04, sembra che il percorso sia irrilevante, perché finché vogliamo usare l'ultimo RubyGem, dobbiamo solo installare RVM e installare la versione di Ruby desiderata.
Antony,

Antonio che ha funzionato per me e ho inviato un aggiornamento alla risposta principale.
Michael Durrant,

5
Per Arch Linux, usa export PATH = $ PATH: ~ / .gem / ruby ​​/ 2.0.0 / bin (aggiusta per la tua versione di Ruby)
Kostas Maragos

Per uso camper 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

Il mio problema era che ho fatto:

sudo gem install bundler

Quindi avevo installato come root anziché come me stesso. Quindi ho disinstallato come root, quindi ho installato come me stesso:

sudo gem uninstall bundler
gem install bundler
rbenv rehash

(ultimo comando per se stai usando rbenv)

E ha funzionato. Il percorso "corretto" era in .bashrc(o altro profilo shell), almeno secondo

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

ma mi aspettavo che fosse installato per me stesso, non per root. Nel mio caso, si trova il suo giusto luogo di installazione~/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/bundler


3
rbenv è un'alternativa a RVM. Gestisce tutte le diverse versioni di rubini. Quando installi un gioiello con gem installesso, lo installa insieme alla versione attualmente utilizzata di ruby ​​che puoi vedere quando lo fai rbenv versions(dovrebbe essere contrassegnato da un *). Quando installi la gemma del bundler, puoi bundle installgemme che ti permetteranno di installare gemme in base al progetto. Le gemme che tendi a fare gem installsono cose come bundler e zeus. Quando devi gem install, devi correre rbenv rehashdopo. È così com'è.
xxjjnn,

Ho avuto questo problema su Windows. gem install bundlerHo suonato e ora va tutto bene.
Dan Atkinson,

25

... anche per Debian GNU / Linux 6.0 :)

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

Non ha funzionato per me, qualche suggerimento? - PERCORSI 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

L'ho fatto (Ubuntu più recente a marzo 2013 [penso :)]):

sudo gem install bundler

Il merito va a Ray Baxter .

Se hai bisogno di gemma, ho installato Ruby in questo modo (anche se questo è cronicamente faticoso):

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

Sto eseguendo Ubuntu 11.10 e l'eseguibile bundle si trovava in:

/var/lib/gems/1.8/bin

3

La mia soluzione è stata quella di assicurarmi di aver selezionato una versione di Ruby per quel repository.

Esempio: 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

Probabilmente il percorso a prova di distro sta aggiungendo questo al tuo .bashrc o .zshrc, qualunque sia la tua shell:

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

o se hai installato le tue gemme in tutto l'utente, usa:

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

2

Per gli utenti 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

Assicurati di farlo rbenv rehashquando installi rubini diversi


1

Passaggio 1: assicurarsi di trovarsi sul percorso dell'area di lavoro effettiva, ad esempio area di lavoro / blog $: Passaggio 2: immettere il comando: gem install bundler. Passaggio 3: A questo punto dovresti essere pronto per l'installazione del pacchetto o l'aggiornamento del pacchetto


1

Nella mia installazione di Arch Linux, le gemme sono state installate nella ~/.gem/ruby/2.6.0/bindirectory se installate come utente o /root/.gem/ruby/2.6.0/binse installate tramite sudo. Basta aggiungere quello appropriato alla $PATHvariabile di ambiente:

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

0

Penso che l'eseguibile bundle sia attivo:

/opt/ruby-enterprise-1.8.7-2010.02/lib/ruby/gems/1.8/gems/bin e non è nel tuo $ PERCORSO


0

Puoi anche creare un link simbolico:

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/bundledovrebbe essere questo con un extra bundleche vuoi creare un link sym per raggruppare piuttosto che l'intero bin dir?
Ashish Singh,

0

Ho avuto lo stesso identico problema e sono stato in grado di risolverlo correndo

rbenv rehash

Successivamente ha bundlefunzionato come previsto. Dando un'occhiata alla voce wiki di rbenv menziona che rehash dovrebbe essere eseguito quando una gemma installata fornisce comandi.

Installa gli shim per tutti gli eseguibili Ruby noti a rbenv (ovvero ~ / .rbenv / version / / bin / ). Esegui questo comando dopo aver installato una nuova versione di Ruby o installa una gemma che fornisce comandi.

Apparentemente questo è un tale fastidio che alcune persone hanno scritto una gemma per assicurarsi di non dover mai più correre rehash. rbenv-gem-rimaneggiamento


0

Ho avuto questo errore rbenv: bundle: command not founddopo aver clonato un vecchio progetto di binari che avevo realizzato un paio di mesi fa. ecco come sono andato su di esso: per installare una versione specifica del bundler o semplicemente eseguire il comando seguente per installare l'ultimo bundler disponibile:

correre gem install bundler

quindi ho installato la versione esatta del bundler che volevo con questo comando:

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

[controlla questo articolo per maggiori dettagli] ( https://www.aloucaslabs.com/miniposts/rbenv-bundle-command-not-found#:~:text=When%20you%20get%20the%20rbenv,to%20install% 20the% 20Bundler% 20gem controlla questo articolo per maggiori dettagli

ottenere l'ascolto al lavoro emettendo questo comando

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

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.