Je suis hébergé sur un vps, Ubuntu 10.04, Rails 3, Ruby et MySQL installés correctement en suivant quelques tutoriels Si j'exécute bundle check
ou bundle install
j'obtiens l'erreur '-bash: bundle: command not found'. De gem list --local
je vois que «bundler (1.0.2, 1.0.0)» est installé.
Je ne sais pas ce qui ne va pas ...
gem environment
renvoie:
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 $PATH
renvoie:
/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 gem
renvoie:
/usr/bin/gem
locate bundle
renvoie:
/opt/Ruby-enterprise-1.8.7-2010.02/lib/Ruby/gems/1.8/
Vous devez ajouter le répertoire exécutable Ruby gem à votre chemin
export PATH=$PATH:/opt/Ruby-enterprise-1.8.7-2010.02/bin
Mon problème était que je l'ai fait:
Sudo gem install bundler
Donc, je m'étais installé en tant que root plutôt que moi-même. J'ai donc désinstallé en tant que root, puis installé en tant que moi-même:
Sudo gem uninstall bundler
gem install bundler
rbenv rehash
(dernière commande pour si vous utilisez rbenv)
Et ça a fonctionné. Le chemin "correct" était dans .bashrc
(ou un autre profil Shell), 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-même - pas pour root. Dans mon cas, son lieu d’installation légitime est ~/.rbenv/versions/1.9.3-p194/lib/Ruby/gems/1.9.1/gems/bundler
... aussi pour Debian GNU/Linux 6.0 :)
export PATH=$PATH:/var/lib/gems/1.8/bin
J'ai fait ceci (Ubuntu au plus tard en mars 2013 [je pense :)]):
Sudo gem install bundler
Le crédit va à Ray Baxter .
Si vous avez besoin de gemme, j'ai installé Ruby de cette façon (bien que cela soit chronologiquement éprouvant):
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
J'exécute Ubuntu 11.10 et l'exécutable de bundle était situé dans:
/var/lib/gems/1.8/bin
Le chemin probablement distro-proof 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 au niveau utilisateur, utilisez:
PATH="$(Ruby -e 'print Gem.user_dir')/bin:$PATH"
Étape 1: assurez-vous que vous êtes bien sur le chemin d'accès actuel. Par exemple, espace de travail/blog $: Étape 2: entrez la commande suivante: gem install bundler . maintenant
Ma solution consistait à choisir une version de Ruby pour ce dépôt.
Exemple: chruby 2.2.2
ou rvm 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/.........
Assurez-vous que rbenv rehash
lors de l'installation de différents rubis
Sur mon installation Arch Linux, des gems ont été installés dans le répertoire ~/.gem/Ruby/2.6.0/bin
s'il est installé en tant qu'utilisateur, ou /root/.gem/Ruby/2.6.0/bin
s'il est installé via Sudo
. Il suffit d’ajouter celui qui convient à votre variable d’environnement $PATH
:
export PATH=$PATH:/home/your_username/.gem/Ruby/2.6.0/bin
Je pense que le fichier exécutable est sur:
/opt/Ruby-enterprise-1.8.7-2010.02/lib/Ruby/gems/1.8/gems/bin
et ce n'est pas dans votre $ PATH
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
J'ai eu exactement le même problème et j'ai pu le résoudre en exécutant
rbenv rehash
Après cela, bundle
a fonctionné comme prévu. En jetant un coup d'œil à l'entrée du wiki rbenv, il est mentionné que rehash doit être exécuté lorsqu'un joyau installé fournit des commandes.
Installe des correctifs pour tous les exécutables Ruby connus de rbenv (c.-à-d., ~/.Rbenv/versions// bin/). Exécutez cette commande après avoir installé un nouveau fichier version de Ruby, ou installez une gemme fournissant des commandes.
Apparemment, c'est un tel désagrément que certaines personnes ont écrit un joyau pour s'assurer que vous n'avez plus jamais besoin de courir rehash
. rbenv-gem-rehash