Подтвердить что ты не робот

ОШИБКА: Gem bundler не установлен, сначала запустите `gem install bundler`

Привет, у меня, вероятно, была попытка установить пакет Ruby gem. Я следую инструкциям gem install bundle после получения этого сообщения, но он все еще не работает, когда я набираю bundle -v. Я также набираю

which bundle и получите

/Users/edmundmai/.rvm/bin/bundle

поэтому он существует!! Так почему это не работает! Что-то не так с таинственным $PATH, которого я не получаю? (Я ноб).

Здесь мой .bash_profile:

PATH=$PATH:~/bin
export PATH
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function

Здесь мой .bashrc:

PATH=$PATH:$HOME/.rvm/bin # Add RVM to PATH for scripting
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" 

Здесь мой драгоценный камень env:

RubyGems Environment:
- RUBYGEMS VERSION: 1.8.24
- RUBY VERSION: 1.9.3 (2012-04-20 patchlevel 194) [x86_64-darwin11.3.1]
- INSTALLATION DIRECTORY: /Users/edmundmai/.rvm/gems/[email protected]
- RUBY EXECUTABLE: /Users/edmundmai/.rvm/rubies/ruby-1.9.3-p194/bin/ruby
- EXECUTABLE DIRECTORY: /Users/edmundmai/.rvm/gems/[email protected]/bin
- RUBYGEMS PLATFORMS:
  - ruby
  - x86_64-darwin-11
- GEM PATHS:
   - /Users/edmundmai/.rvm/gems/[email protected]
   - /Users/edmundmai/.rvm/gems/[email protected]
- GEM CONFIGURATION:
   - :update_sources => true
   - :verbose => true
   - :benchmark => false
   - :backtrace => false
   - :bulk_threshold => 1000
   - "install" => "--no-rdoc --no-ri"
   - "update" => "--no-rdoc --no-ri"
- REMOTE SOURCES:
   - http://rubygems.org/

echo $PATH

/Users/edmundmai/.rvm/bin:/Users/edmundmai/.rvm/gems/[email protected]/bin:/Users/edmundmai/.rvm/gems/[email protected]/bin:/Users/edmundmai/.rvm/rubies/ruby-1.9.3-p194/bin:/Users/edmundmai/.rvm/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/Users/edmundmai/bin:/Users/edmundmai/bin

UPDATE Поэтому, после повторного изучения учебника RoR, я повторил несколько шагов из предыдущей главы в одном из двух моих окон терминала (позвольте им назвать Terminal # 1 и Terminal # 2). Терминал №2 все еще не работает (командная строка не находится ни в одной директории, а только в каталоге по умолчанию), а терминал №1 (в моем каталоге sample_app) работает. Я думаю, что rvm get head && rvm reload может быть ключом? Но означает ли это, что я должен запускать это каждый раз, когда я открываю терминал? Проверьте мои команды терминала №1 до и после (я удалил часть вывода, чтобы было более понятно, что у меня были в моих линиях ввода):

Edmunds-MacBook-Pro:sample_app edmundmai$ bundle -v
ERROR: Gem bundler is not installed, run `gem install bundler` first.
Edmunds-MacBook-Pro:sample_app edmundmai$ gem install
ERROR:  While executing gem ... (Gem::CommandLineError)
Please specify at least one gem name (e.g. gem build GEMNAME)
Edmunds-MacBook-Pro:sample_app edmundmai$ rvm -v


rvm 1.15.8 (master) by Wayne E. Seguin <[email protected]>, Michal Papis     <[email protected]> [https://rvm.io/]

Edmunds-MacBook-Pro:sample_app edmundmai$ rspec spec/
No DRb server is running. Running in local process instead ...
........

Finished in 0.36709 seconds
8 examples, 0 failures

Randomized with seed 59500

Edmunds-MacBook-Pro:sample_app edmundmai$ subl .
Edmunds-MacBook-Pro:sample_app edmundmai$ bundle install --binstubs=./bundler_stubs
Using rake (0.9.2.2) 
...
...
(**list of stuff)
Using uglifier (1.2.3) 
Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed.
Edmunds-MacBook-Pro:sample_app edmundmai$ bundle show bundler
/Users/edmundmai/.rvm/gems/[email protected]/gems/bundler-1.2.0

Я не совсем понимаю, что такое $PATH. Если вы, ребята, нуждаетесь в дополнительной информации, не стесняйтесь говорить мне, и я предоставлю ее.

4b9b3361

Ответ 1

Я думаю, что это проблема: у вас установлен пакет для определенного gemset, поэтому он доступен только тогда, когда вы в вашем каталоге приложения (я предполагаю, что там есть файл .rvmrc).

У вас есть несколько вариантов:

  • Установите bundler в глобальный гемсет. rvm gemset use global && gem install bundler
  • Если у вас установлен Homebrew, просто brew install ruby и вообще избегайте rvm. (Там также rbenv и ry как альтернативы rvm, но я просто использую 1.9.3 во всех моих приложениях, поэтому Homebrew в порядке.)

Для справки $PATH - это переменная среды оболочки, содержащая список каталогов, в которых хранятся исполняемые файлы (например, echo, ls, vim и т.д.). Это неотъемлемо для оболочек.

Ответ 2

Иногда бывает, что вы не правильно используете rvm, потому что вы не находитесь в оболочке входа (используя экран?). Тип

    source ~/.rvm/scripts/rvm

И используйте любую команду bundle.

Ответ 3

Добавьте следующую строку в ~/.bashrc файл

[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function

затем перезагрузите файл:

$ source ~/.bashrc

Ответ 4

Даже у меня была такая же проблема,

В сервере rvm не был выбран как default.So

rvm use 1.9.3 --default

gem install bundler

решил мою проблему

(Проблема возникает только при использовании rvm)

Ответ 5

Если вы используете rvm, создайте отдельный гемсет, который является самодостаточными пучками драгоценных камней.

rvm use [email protected] --create --default
  • myApplicationNameHere = изменить это на ваше имя приложения
  • create = создает gemset
  • default = означает использование этой версии ruby ​​и gemset по умолчанию

Вот ссылка на сайт rvm и соответствующий раздел https://rvm.io/gemsets/basics/