Ответ 1
Вам необходимо добавить исполняемый каталог ruby gem на ваш путь
export PATH=$PATH:/opt/ruby-enterprise-1.8.7-2010.02/bin
Я размещаю на vps, ubuntu 10.04, rails 3, ruby и mysql правильно установлен, следуя некоторым учебникам. Если я запустил bundle check
или bundle install
, я получу ошибку '- bash: bundle: command not found'. Из gem list --local
я вижу 'bundler (1.0.2, 1.0.0)'.
Я не знаю, что пойдет не так...
gem environment
возвращает:
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/
и echo $PATH
возвращает:
/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
и which gem
возвращает:
/usr/bin/gem
locate bundle
возвращает:
/opt/ruby-enterprise-1.8.7-2010.02/lib/ruby/gems/1.8/
Вам необходимо добавить исполняемый каталог ruby gem на ваш путь
export PATH=$PATH:/opt/ruby-enterprise-1.8.7-2010.02/bin
Моя проблема была в том, что я сделал:
sudo gem install bundler
Итак, я установил как root, а не как себя. Поэтому я удалил его как root, а затем установил как себя:
sudo gem uninstall bundler
gem install bundler
rbenv rehash
(последняя команда для использования rbenv)
И это сработало. "Правильный" путь находился в .bashrc
(или другом профиле оболочки), по крайней мере, согласно
$PATH
=> zsh: /Users/myself/.rbenv/shims:/Users/myself/.rbenv/bin: ... etc
но он ожидал, что он будет установлен для меня - не для root. В моем случае его законное место установки находится в ~/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/bundler
... также для Debian GNU/Linux 6.0:)
export PATH=$PATH:/var/lib/gems/1.8/bin
Я сделал это (Ubuntu последний по состоянию на март 2013 года [я думаю:)]):
sudo gem install bundler
Кредит переходит на Рэй Бакстер.
Если вам нужен драгоценный камень, я установил Ruby таким образом (хотя это хронически облагается налогом):
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
Я запускаю ubuntu 11.10, а исполняемый файл пакета находится в:
/var/lib/gems/1.8/bin
Мое решение состояло в том, чтобы убедиться, что я выбрал версию Ruby для этого репо.
Пример: chruby 2.2.2
или 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/.........
Вероятно, путь, защищенный от вирусов, добавляет это в ваш .bashrc или .zshrc, независимо от вашей оболочки:
PATH="$(ruby -e 'print Gem.default_dir')/bin:$PATH"
или если вы установили свои камни по всему миру, используйте:
PATH="$(ruby -e 'print Gem.user_dir')/bin:$PATH"
Шаг 1. Убедитесь, что вы находитесь на пути к фактическому рабочему пространству. Например, рабочее пространство/блог $: Шаг 2: Введите команду: gem install bundler. Шаг 3: вы должны быть настроены на то, чтобы установить обновление установки или пакета в настоящее время
Я думаю, что исполняемый файл bundle включен:
/opt/ruby-enterprise-1.8.7-2010.02/lib/ruby/gems/1.8/gems/bin
и это не в вашей $PATH
Вы также можете создать символическую ссылку:
ln -s /opt/ruby-enterprise-1.8.7-2010.02/lib/ruby/gems/1.8/gems/bin/bundle /usr/bin/bundle
Убедитесь, что вы выполняете rbenv rehash
при установке разных рубинов
У меня была такая же проблема, и я смог ее решить, запустив
rbenv rehash
После этого bundle
работал должным образом. Взглянув на запись rbenv wiki, он упоминает, что перепросмотр должен выполняться, когда установленный gem предоставляет команды.
Устанавливает прокладки для всех исполняемых файлов Ruby, известных как rbenv (т. ~/.rbenv/версии//bin/). Запустите эту команду после установки нового версии Ruby или установить драгоценный камень, который предоставляет команды.
По-видимому, это настолько раздражает, что некоторые люди написали драгоценный камень, чтобы убедиться, что вам больше не нужно запускать rehash
.
rbenv-gem-rehash
При моей установке Arch Linux гемы были установлены в каталог ~/.gem/ruby/2.6.0/bin
, если он установлен как пользователь, или в /root/.gem/ruby/2.6.0/bin
, если он установлен через sudo
. Просто добавьте соответствующий к вашей переменной среды $PATH
:
export PATH=$PATH:/home/your_username/.gem/ruby/2.6.0/bin