Pourquoi zsh: command not found: bundle
Après gem install bundler
?
J'ai essayé de régler path=( /usr/local/lib/Ruby/gems/2.2/gems/ ~/bin /bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin )
dans /etc/zshrc
Et source /etc/zshrc
En vain.
root@dev:/home/dev# gem install bundler
Successfully installed bundler-1.7.12
Parsing documentation for bundler-1.7.12
Done installing documentation for bundler after 10 seconds
1 gem installed
root@dev:/home/dev# bundle
zsh: command not found: bundle
root@dev:/home/dev# uname -a
OpenBSD dev.my.domain 5.7 GENERIC#748 AMD64
root@dev:/home/dev# gem environment
RubyGems Environment:
- RUBYGEMS VERSION: 2.4.5
- Ruby VERSION: 2.2.0 (2014-12-25 patchlevel 0) [x86_64-openbsd]
- INSTALLATION DIRECTORY: /usr/local/lib/Ruby/gems/2.2
- Ruby EXECUTABLE: /usr/local/bin/Ruby22
- EXECUTABLE DIRECTORY: /usr/local/bin
- SPEC CACHE DIRECTORY: /root/.gem/specs
- SYSTEM CONFIGURATION DIRECTORY: /etc
- RUBYGEMS PLATFORMS:
- Ruby
- x86_64-openbsd
- GEM PATHS:
- /usr/local/lib/Ruby/gems/2.2
- /usr/local/lib/Ruby/gems/2.2/gems/
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :backtrace => false
- :bulk_threshold => 1000
- REMOTE SOURCES:
- https://rubygems.org/
- Shell PATH:
- /usr/local/lib/Ruby/gems/2.2/gems/
- /root/bin
- /bin
- /sbin
- /usr/bin
- /usr/sbin
- /usr/local/bin
- /usr/local/sbin
J'ai eu le même problème en utilisant zsh et cela l'a corrigé:
$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.zshenv
$ echo 'eval "$(rbenv init -)"' >> ~/.zshenv
$ echo 'source $HOME/.zshenv' >> ~/.zshrc
$ exec $Shell
Vous semblez être après avoir installé bundler
à l'échelle du système. Pour ce faire, vous devez passer --no-user-install
drapeau à gem
et exécutez-le avec Sudo
:
Sudo gem install bundler --no-user-install
Après cela, vous devriez voir bundle
dans /usr/bin/
ça va:
$ ls /usr/bin/bundle
/usr/bin/bundle*
Vous pouvez vérifier le répertoire dans lequel Rubygems installera les exécutables gem avec gem environment
.
L'un des premiers points devrait être EXECUTABLE DIRECTORY
. Assurez-vous que ce répertoire est dans votre $PATH
(répertorié comme Shell PATH
btw)
Vous devez exécuter la commande ci-dessous après avoir installé bundler
:
rbenv rehash
J'ai également rencontré la même erreur lors de la configuration de jekyll. Ma gem env
spectacles GEM PATHS
comme suit:
- GEM PATHS:
- /usr/local/lib/Ruby/gems/2.5.0
Le contenu de ce répertoire ressemble à ceci:
bin/ cache/ extensions/ specifications/
build_info/ doc/ gems/
Dans bin
, je vois à la fois jekyll
et bundle
:
$cd /usr/local/lib/Ruby/gems/2.5.0/bin/
$ls
bundle jekyll listen safe_yaml sass-convert
bundler kramdown rougify sass scss
Si vous trouvez des chemins et des fichiers similaires à moi, l'une des approches suivantes devrait fonctionner:
Ajoutez le chemin complet /usr/local/lib/Ruby/gems/2.5.0/bin/
à PATH
via:
export PATH="/usr/local/lib/Ruby/gems/2.5.0/bin/:$PATH"
Créez des liens symboliques dans /usr/local/bin
via:
$cd /usr/local/bin
$ln -sf /usr/local/lib/Ruby/gems/2.5.0/bin/bundle .
$ln -sf /usr/local/lib/Ruby/gems/2.5.0/bin/jekyll .
Configurer des alias dans .zshrc
(ou .bashrc
et similaires):
alias jekyll="/usr/local/lib/Ruby/gems/2.5.0/bin/jekyll"
alias bundle="/usr/local/lib/Ruby/gems/2.5.0/bin/bundle"
En général, j'ai senti que tout ce chemin aveugle rend l'expérience de la mise en place d'un site jekyll plus cahoteuse que prévu :( Si d'autres ont un ensemble d'étapes qui fonctionnent (sans de tels besoins de dépannage), veuillez commenter :)