J'essaie d'utiliser bundler avec Rbenv. J'ai travaillé jusqu'à aujourd'hui. La seule chose que j'ai pu faire pour le casser était gem pristine --all
ou gem cleanup
? En essayant d'installer bundler, j'obtiens l'erreur suivante.
Antarrs-MacBook-Pro:some-app antarrbyrd$ Sudo gem install bundler
Password:
Bundler gave the error "Could not find mail-2.5.4 in any of the sources" while processing "/Users/antarrbyrd/dev/some-app/Gemfile". Perhaps you forgot to run "bundle install"?
Successfully installed bundler-1.7.12
Parsing documentation for bundler-1.7.12
Done installing documentation for bundler after 3 seconds
1 gem installed
Antarrs-MacBook-Pro:some-app antarrbyrd$ bundle install
/Users/antarrbyrd/.rbenv/versions/2.1.2/lib/Ruby/site_Ruby/2.1.0/rubygems/dependency.rb:315:in `to_specs': Could not find 'bundler' (>= 0) among 8 total gem(s) (Gem::LoadError)
Checked in 'GEM_PATH=/Users/antarrbyrd/.gem', execute `gem env` for more information
from /Users/antarrbyrd/.rbenv/versions/2.1.2/lib/Ruby/site_Ruby/2.1.0/rubygems/dependency.rb:324:in `to_spec'
from /Users/antarrbyrd/.rbenv/versions/2.1.2/lib/Ruby/site_Ruby/2.1.0/rubygems/core_ext/kernel_gem.rb:64:in `gem'
from /usr/local/bin/bundle:22:in `<main>'
quand je fais rbenv rehash
ou rbenv bundler on
il obtient cette erreur
Bundler gave the error "Could not find mail-2.5.4 in any of the sources" while processing "/Users/antarrbyrd/dev/some-app/Gemfile". Perhaps you forgot to run "bundle install"?
~/.bash_profile
export BUNDLER_EDITOR=atom
export PATH=$PATH:/usr/local/opt/Android-sdk/build-tools/21.1.2
export HOMEBREW_GITHUB_API_TOKEN=...
export Android_HOME=/usr/local/opt/Android-sdk
export PATH="$HOME/.rbenv/bin:$PATH"
if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi
# Allow local Gem Managment
# export GEM_HOME="$HOME/.gem"
# export GEM_PATH="$HOME/.gem"
# export PATH="$HOME/.gem/bin:$PATH"
gem env
RubyGems Environment:
- RUBYGEMS VERSION: 2.2.2
- Ruby VERSION: 2.1.2 (2014-05-08 patchlevel 95) [x86_64-darwin14.0]
- INSTALLATION DIRECTORY: /usr/local/var/rbenv/versions/2.1.2/lib/Ruby/gems/2.1.0
- Ruby EXECUTABLE: /usr/local/var/rbenv/versions/2.1.2/bin/Ruby
- EXECUTABLE DIRECTORY: /usr/local/var/rbenv/versions/2.1.2/bin
- SPEC CACHE DIRECTORY: /Users/antarrbyrd/.gem/specs
- RUBYGEMS PLATFORMS:
- Ruby
- x86_64-darwin-14
- GEM PATHS:
- /usr/local/var/rbenv/versions/2.1.2/lib/Ruby/gems/2.1.0
- /Users/antarrbyrd/.gem/Ruby/2.1.0
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => false
- :backtrace => false
- :bulk_threshold => 1000
- "gem" => "-n/usr/local/bin"
- REMOTE SOURCES:
- https://rubygems.org/
- Shell PATH:
- /usr/local/var/rbenv/versions/2.1.2/bin
- /usr/local/Cellar/rbenv/0.4.0/libexec
- /Users/antarrbyrd/.gem/bin
- /usr/local/var/rbenv/shims
- /usr/local/bin
- /usr/bin
- /bin
- /usr/sbin
- /sbin
- /usr/local/var/rbenv/shims
- /Users/antarrbyrd/.rbenv/bin
- /Users/antarrbyrd/.rbenv/shims
- /Users/antarrbyrd/.gem/bin
- /usr/local/opt/Android-sdk/build-tools/21.1.2
mettre à jour
J'ai réinstallé rbenv via breuvage et le message d'erreur suivant s'affiche lors de l'exécution de l'installation groupée.
The `bundle' command exists in these Ruby versions:
2.1.5
réponse à Joel
Antarrs-MacBook-Pro:myapp antarrbyrd$ command -v Ruby
/usr/local/var/rbenv/shims/Ruby
Antarrs-MacBook-Pro:myapp antarrbyrd$ command -v bundle
/usr/local/bin/bundle
Antarrs-MacBook-Pro:myapp antarrbyrd$ Ruby -v
Ruby 2.1.2p95 (2014-05-08 revision 45877) [x86_64-darwin14.0]
Antarrs-MacBook-Pro:myapp antarrbyrd$ bundle -v
Bundler version 1.7.12
Antarrs-MacBook-Pro:myapp antarrbyrd$
Votre installation est prise dans une boucle.
Basculez vers un répertoire qui n'est pas votre application et qui n'a pas de fichier Gemfile.
Puis faites les habituelles gem install bundle
_ (et utilisez Sudo
si vous en avez besoin)
Ensuite, accédez au répertoire de votre application et procédez comme d'habitude bundle install
.
Cela résout-il votre problème?
Si vous avez besoin d’aide supplémentaire, pouvez-vous exécuter ces commandes puis coller les résultats dans votre question?
$ command -v Ruby
$ command -v bundle
$ Ruby -v
$ bundle -v
Recherchez tout décalage entre les résultats et vos attentes. Cela vous aidera à localiser ce qui se passe. Vous devrez peut-être mettre à jour votre Gemfile Ruby version.
(En outre, vous voudrez peut-être envisager de passer de rbenv
à chruby
car il vaut mieux, à mon humble avis, avec ce type de problèmes de chemin)
J'ai eu:
rbenv: bundle: command not found
The `bundle' command exists in these Ruby versions:
2.3.0
après la mise à niveau vers Ruby 2.3.1
et c'est résolu par:
gem install Rails
du dossier de travail
gem Installer Bundler
Vous devez réinstaller bundler pour chaque version de Ruby que vous utilisez.
Référence: numéro de github
Essayez d'utiliser:
bin/paquet
au lieu de
paquet
Voici ce qui a fonctionné pour moi avec un projet hérité:
$ cd YOUR_PROJECT_DIRECTORY
$ rbenv install 2.1.0
$ rbenv local 2.1.0
$ gem install bundle
WARNING: You don't have /Users/Lex/.gem/Ruby/2.1.0/bin in your PATH,
gem executables will not run.
Successfully installed bundle-0.0.1
1 gem installed
$ PATH=/Users/Lex/.gem/Ruby/2.1.0/bin:$PATH
$ bundle install
Fetching: bundler-1.11.2.gem (100%)
HTTP GET https://bundler.rubygems.org/api/v1/dependencies
HTTP 200 OK
Fetching gem metadata from https://rubygems.org/
. . .
Utiliser Sudo pour installer des gems n’est généralement pas ce que vous voulez faire.
Essayez de régler Ruby globalement
rbenv global 2.3.1
Si aucune des solutions ne fonctionne pour vous, essayez ceci.
Pour une raison quelconque, je ne pouvais pas installer bundler sur des versions spécifiques de Ruby, la réinstallation de bundler n’a donc rien fait pour moi.
Cependant, j'ai remarqué comment rbenv whence bundle
a spécifié que le bundle était actif dans certaines Ruby versions, mais pas dans d'autres. Si vous regardez sous le chemin d'accès à la gem sans bundler (pour moi, c'était ~/.rbenv/versions/2.5.1/bin/
) vous remarquerez que ce n’est pas là. Cependant, sous d’autres versions, vous pouvez voir que l’exécutable est là (pour moi, c’est là sous ~/.rbenv/versions/2.3.1/bin/bundle
).
Copiez simplement l'exécutable de la version de travail Ruby) vers celle qui est cassée. Puis, en haut du fichier, vous remarquerez que sha-bang est défini sur l'autre Ruby version (pour moi c'était #!/Users/myuser/.rbenv/versions/2.3.1/bin/Ruby
). Changez le chemin de la version en Ruby que vous voulez corriger) et tout commencera comme par magie.
J'ai un problème similaire aujourd'hui. Mon problème a été résolu comme suit:
system dependencies
- rvenv
- Ruby 2.5.0
- Rails 5.1.6
BUNDLED WITH
1.17.3
$ gem install bundler -v 1.17.3
Fetching bundler-1.17.3.gem
Successfully installed bundler-1.17.3
Parsing documentation for bundler-1.17.3
Done installing documentation for bundler after 3 seconds
1 gem installed
J'espère que cela aidera quelqu'un.
J'ai eu un problème similaire en cours d'exécution de garde avec Foreman. Ma commande d'origine pour l'exécuter était:
bundle exec foreman run guard -c
Cela m'a donné ces erreurs:
11:07:52 - INFO - Run all
11:07:52 - INFO - Running all specs
/Users/MyUser/.rbenv/versions/2.2.0/lib/Ruby/2.2.0/rubygems/dependency.rb:315:in `to_specs': Could not find 'bundler' (>= 0) among 146 total gem(s) (Gem::LoadError)
Checked in 'GEM_PATH=/Users/MyUser/devel/o2/Vesta/vendor/bundle/Ruby/2.2.0', execute `gem env` for more information
from /Users/MyUser/.rbenv/versions/2.2.0/lib/Ruby/2.2.0/rubygems/dependency.rb:324:in `to_spec'
from /Users/MyUser/.rbenv/versions/2.2.0/lib/Ruby/2.2.0/rubygems/core_ext/kernel_gem.rb:64:in `gem'
from /Users/MyUser/.rbenv/versions/2.2.0/bin/bundle:22:in `<main>'
La solution simple était de ne pas utiliser bundle exec
avec contremaître mais à l’utiliser contre garde. par exemple.
foreman run bundle exec guard -c
J'espère que cela t'aides.