Bundler: Command not found
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
开发者_C百科 - :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/
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
You need to add the ruby gem executable directory to your path
export PATH=$PATH:/opt/ruby-enterprise-1.8.7-2010.02/bin
... also for Debian GNU/Linux 6.0 :)
export PATH=$PATH:/var/lib/gems/1.8/bin
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
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"
I'm running ubuntu 11.10 and bundle executable was located in:
/var/lib/gems/1.8/bin
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/.........
On my Arch Linux install, gems were installed to the ~/.gem/ruby/2.6.0/bin
directory if installed as user, or /root/.gem/ruby/2.6.0/bin
if installed via sudo
. Just append the appropriate one to your $PATH
environment variable:
export PATH=$PATH:/home/your_username/.gem/ruby/2.6.0/bin
For rbenv users:
$ rbenv versions
2.6.0
$ rbenv global 2.6.0
$ ruby -v
ruby 2.6.0p0
$ gem install bundler
$ rbenv rehash
$ bundle
$ rails -v
Command 'rails' not found
$ rbenv rehash
$ rails -v
Rails 4.2.11.1
I got this error rbenv: bundle: command not found
after cloning an old rails project I had built a couple on months ago.
here is how I went about it:
To install a specific version of bundler or just run the following command to install the latest available bundler:
run gem install bundler
then I installed the exact version of bundler I wanted with this command:
$ gem install bundler -v "$(grep -A 1 "BUNDLED WITH" Gemfile.lock | tail -n 1)"
[check this article for more details](https://www.aloucaslabs.com/miniposts/rbenv-bundle-command-not-found#:~:text=When%20you%20get%20the%20rbenv,to%20install%20the%20Bundler%20gem check this article for more details
get the listen to work by issuing this command
echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
Make sure you do rbenv rehash
when installing different rubies
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
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
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
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
精彩评论