Bundle not working with rbenv
I'm trying to use bundler with rbenv. I has been working until today. The only thing I may have done to break it was gem pristine --all
or gem cleanup
? When trying to install bundler i get the following error.
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>'
when i do rbenv rehash
or rbenv bundler on
it get this error
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
update
I reinstalled rbenv via brew and now I get the following error when running bundle install.
The `bundle' command exists in these Ruby versions:
2.1.5
response to 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$
Solution 1:
Your installation is caught in a loop.
Change to a directory that is not your app, and that doesn't have a Gemfile.
Then do the usual gem install bundle
(and use sudo
if you need it)
Then change to your app directory, and do the usual bundle install
.
Does that solve your issue?
If you need more help, can run these commands then paste the results in your question?
$ command -v ruby
$ command -v bundle
$ ruby -v
$ bundle -v
Look for any mismatch between the results and what you expect. This will help you track down what's happening. You may need to update your Gemfile Ruby version.
(Also, you may want to consider changing from rbenv
to chruby
because it's better IMHO with these kinds of path issues)
Solution 2:
I got:
rbenv: bundle: command not found
The `bundle' command exists in these Ruby versions:
2.3.0
after upgrade to Ruby 2.3.1
and it's solved by:
gem install rails
from working folder
Solution 3:
gem install bundler
You need to reinstall bundler for each version of Ruby you use.
Reference: github issue
Solution 4:
Try to use:
bin/bundle
instead of
bundle
Solution 5:
If none of the other solutions work for you try this.
For some reason I could not install bundler on specific ruby versions, thus reinstalling bundler did nothing for me.
However I noticed how rbenv whence bundle
specified that bundle was active in some ruby versions, but not others. If you look under the path for the gem without bundler (for me this was ~/.rbenv/versions/2.5.1/bin/
) you will notice that it is not there. However under other versions that whence can recognise you will see the executable is there (for me it was there under ~/.rbenv/versions/2.3.1/bin/bundle
).
Just copy the executable over from the working ruby version to the one that is broken. Then at the top of the file you will notice sha-bang is set to the other ruby version (for me this was #!/Users/myuser/.rbenv/versions/2.3.1/bin/ruby
). Change the version path to the ruby version you want to fix and then it will all magically start working.