Bundler: commande introuvable

141

J'héberge sur un vps, ubuntu 10.04, rails 3, ruby ​​et mysql installés correctement en suivant quelques tutoriels. Si je cours bundle checkou bundle installque j'obtiens l'erreur «-bash: bundle: command not found». De gem list --localje vois que 'bundler (1.0.2, 1.0.0)' est installé.

Je ne sais pas ce qui ne va pas ...

gem environment Retour:

 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/

et echo $PATHrenvoie:

/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

et which gemrenvoie:

/usr/bin/gem

locate bundle Retour:

/opt/ruby-enterprise-1.8.7-2010.02/lib/ruby/gems/1.8/
raphael_turtle
la source
7
avez-vous installé bundler?
shingara

Réponses:

87

Vous devez ajouter le répertoire exécutable ruby ​​gem à votre chemin

export PATH=$PATH:/opt/ruby-enterprise-1.8.7-2010.02/bin
Peter Brown
la source
14
Sous uBuntu 11.04, le dernier chemin de commande est maintenant export PATH = $ PATH: /var/lib/gems/1.8/bin
Antony
Mise à jour: sous ubuntu 11.04, il semble que le chemin ne soit pas pertinent, car tant que nous voulons utiliser le dernier RubyGem, nous devons simplement installer RVM et installer la version Ruby souhaitée.
Antony
Antony qui a fonctionné pour moi et j'ai soumis une mise à jour de la réponse principale.
Michael Durrant
5
Pour Arch Linux, utilisez export PATH = $ PATH: ~ / .gem / ruby ​​/ 2.0.0 / bin (ajustez pour votre version de Ruby)
Kostas Maragos
Pour une utilisation rvm export /usr/local/rvm/gems/ruby-1.9.3-p448/bin:$PATHou ENV PATH /usr/local/rvm/gems/ruby-1.9.3-p448/bin:$PATHavec Docker.
crizCraig
199

Mon problème était que j'ai fait:

sudo gem install bundler

J'avais donc installé en tant que root plutôt que moi-même. J'ai donc désinstallé en tant que root, puis installé comme moi-même:

sudo gem uninstall bundler
gem install bundler
rbenv rehash

(dernière commande si vous utilisez rbenv)

Et ça a marché. Le chemin "correct" était dans .bashrc(ou dans un autre profil de coque), du moins selon

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

mais il s'attendait à ce qu'il soit installé pour moi - pas pour root. Dans mon cas, son lieu d'installation légitime est dans~/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/bundler

xxjjnn
la source
3
rbenv est une alternative à RVM. Il gère toutes vos différentes versions de ruby. Lorsque vous installez un bijou avec, gem installil l'installe à côté de la version actuellement utilisée de ruby ​​que vous pouvez voir lorsque vous le faites rbenv versions(il doit être marqué d'un *). Lorsque vous installez la gemme du bundler, vous pouvez obtenir des bundle installgemmes qui vous permettront d'installer des gemmes par projet. Les gemmes que vous avez tendance à gem installêtre des choses comme bundler et zeus. Quand vous gem install, vous devez courir rbenv rehashaprès. C'est juste comme ça.
xxjjnn
J'ai eu ce problème sous Windows. Rang gem install bundleret tout va bien maintenant.
Dan Atkinson
25

... aussi pour Debian GNU / Linux 6.0 :)

export PATH=$PATH:/var/lib/gems/1.8/bin
Lars Moelleken
la source
Cela n'a pas fonctionné pour moi, des suggestions? - GEM PATHS: - /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

J'ai fait ceci (Ubuntu dernier en mars 2013 [je pense :)]):

sudo gem install bundler

Le mérite revient à Ray Baxter .

Si vous avez besoin de gem, j'ai installé Ruby de cette façon (bien que cela soit chroniquement pénible):

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
Cody
la source
3

J'exécute ubuntu 11.10 et l'exécutable du bundle se trouvait dans:

/var/lib/gems/1.8/bin
spectral
la source
3

Ma solution était de m'assurer que j'avais sélectionné une version de Ruby pour ce dépôt.

Exemple: chruby 2.2.2ourvm 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/.........
Mark Evans
la source
3

Probablement un chemin à l'épreuve de la distribution ajoute ceci à votre .bashrc ou .zshrc, quel que soit votre shell:

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

ou si vous avez installé vos gemmes à l'échelle de l'utilisateur, utilisez:

PATH="$(ruby -e 'print Gem.user_dir')/bin:$PATH"
maladie illégale
la source
2

Pour les utilisateurs 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
Donato
la source
1

Assurez-vous de le faire rbenv rehashlors de l'installation de différents rubis

Peter
la source
1

Étape 1: Assurez-vous que vous êtes sur le chemin de l'espace de travail réel. Par exemple, workspace / blog $: Étape 2: Entrez la commande: gem install bundler. Étape 3: Vous devriez être prêt pour l'installation ou la mise à jour groupée maintenant

unedujoe
la source
1

Sur mon installation Arch Linux, les gems étaient installés dans le ~/.gem/ruby/2.6.0/binrépertoire s'ils étaient installés en tant qu'utilisateur, ou /root/.gem/ruby/2.6.0/bins'ils étaient installés via sudo. Ajoutez simplement celui qui convient à votre $PATHvariable d'environnement:

export PATH=$PATH:/home/your_username/.gem/ruby/2.6.0/bin
Ginglis
la source
0

Je pense que l'exécutable du bundle est activé:

/opt/ruby-enterprise-1.8.7-2010.02/lib/ruby/gems/1.8/gems/bin et ce n'est pas dans votre $ PATH

Shingara
la source
0

Vous pouvez également créer un lien symbolique:

ln -s /opt/ruby-enterprise-1.8.7-2010.02/lib/ruby/gems/1.8/gems/bin/bundle /usr/bin/bundle
idée de commande
la source
ln -s /opt/ruby-enterprise-1.8.7-2010.02/lib/ruby/gems/1.8/gems/bin/bundle /usr/bin/bundleça devrait être ça avec un extra que bundlevous voulez créer un lien sym vers le bundle plutôt que tout le répertoire bin?
Ashish Singh
0

J'ai eu exactement le même problème et j'ai pu le résoudre en exécutant

rbenv rehash

Après cela a bundlefonctionné comme prévu. En jetant un œil à l'entrée du wiki rbenv, il mentionne que rehash doit être exécuté lorsqu'un gem installé fournit des commandes.

Installe les shims pour tous les exécutables Ruby connus de rbenv (c'est-à-dire ~ / .rbenv / versions / / bin / ). Exécutez cette commande après avoir installé une nouvelle version de Ruby ou installez un gem qui fournit des commandes.

Apparemment, c'est tellement ennuyeux que certaines personnes ont écrit un petit bijou pour s'assurer que vous n'aurez plus jamais besoin de courir rehash. rbenv-gem-rehash

Dan Bradbury
la source
0

J'ai eu cette erreur rbenv: bundle: command not foundaprès avoir cloné un vieux projet de rails que j'avais construit il y a quelques mois. voici comment j'ai procédé: pour installer une version spécifique du bundler ou simplement exécuter la commande suivante pour installer le dernier bundler disponible:

courir gem install bundler

puis j'ai installé la version exacte du bundler que je voulais avec cette commande:

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

[consultez cet article pour plus de détails] ( https://www.aloucaslabs.com/miniposts/rbenv-bundle-command-not-found#:~:text=When%20you%20get%20the%20rbenv,to%20install% 20the% 20Bundler% 20gem consultez cet article pour plus de détails

faites fonctionner l'écoute en émettant cette commande

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

Addo
la source