bundle: command not found

2019-01-12 17:21发布

问题:

I am hosting on a vps, ubuntu 10.04, rails 3, ruby and mysql installed correctly by following some tutorials. If I run bundle check or bundle install I get the error '-bash: bundle: command not found'. From gem list --local I see 'bundler (1.0.2, 1.0.0)' is installed.

I don't know what's going wrong...

gem environment returns:

 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/

and echo $PATH returns:

/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

and which gem returns:

/usr/bin/gem

locate bundle returns:

/opt/ruby-enterprise-1.8.7-2010.02/lib/ruby/gems/1.8/

回答1:

You need to add the ruby gem executable directory to your path

export PATH=$PATH:/opt/ruby-enterprise-1.8.7-2010.02/bin


回答2:

My problem was that I did:

sudo gem install bundler

So I had installed as root rather than as myself. So I uninstalled as root, then installed as myself:

sudo gem uninstall bundler
gem install bundler
rbenv rehash

(last command for if you are using rbenv)

And it worked. The "correct" path was in .bashrc (or other shell profile), at least according to

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

but it was expecting it to be installed for myself - not for root. In my case, its rightful installation place is in ~/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/bundler



回答3:

... also for Debian GNU/Linux 6.0 :)

export PATH=$PATH:/var/lib/gems/1.8/bin


回答4:

I did this (Ubuntu latest as of March 2013 [ I think :) ]):

sudo gem install bundler

Credit goes to Ray Baxter.

If you need gem, I installed Ruby this way (though this is chronically taxing):

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


回答5:

I'm running ubuntu 11.10 and bundle executable was located in:

/var/lib/gems/1.8/bin


回答6:

Probably distro-proof path is adding this to your .bashrc or .zshrc, whatever your shell is :

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

or if you have installed your gems user-wide, use :

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


回答7:

My solution was to make sure I selected a version of Ruby for that repo.

Example: chruby 2.2.2 or 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/.........


回答8:

Step 1:Make sure you are on path actual workspace.For example, workspace/blog $: Step2:Enter the command: gem install bundler. Step 3: You should be all set to bundle install or bundle update by now



回答9:

I think bundle executable is on :

/opt/ruby-enterprise-1.8.7-2010.02/lib/ruby/gems/1.8/gems/bin and it's not in your $PATH



回答10:

Make sure you do rbenv rehash when installing different rubies



回答11:

You can also create a symlink:

ln -s /opt/ruby-enterprise-1.8.7-2010.02/lib/ruby/gems/1.8/gems/bin/bundle /usr/bin/bundle


回答12:

I had the exact same issue and was able to resolve it by running

rbenv rehash

After that bundle worked as expected. Upon taking a look at the rbenv wiki entry it does mention that rehash should be run when an installed gem provides commands.

Installs shims for all Ruby executables known to rbenv (i.e., ~/.rbenv/versions//bin/). Run this command after you install a new version of Ruby, or install a gem that provides commands.

Apparently this is such an annoyance that some folks have written a gem to make sure you never need to run rehash again. rbenv-gem-rehash