rbenv работает, вставляя директорию прокладок в начало вашей PATH :
~/.rbenv/shims:/usr/local/bin:/usr/bin:/bin
Через процесс, называемый rehashing, rbenv поддерживаетШиммы в этом каталоге соответствуют каждой команде Ruby во всех установленных версиях Ruby - irb, gem, rake, rails, ruby и т. д.
Шиммы - это легкие исполняемые файлы, которые просто передают вашу команду в rbenv.Таким образом, с установленным rbenv, когда вы запустите, скажем, rake, ваша операционная система сделает следующее:
- Найдите в вашем
PATH
исполняемый файл с именем rake - Найдите rbenvшим по имени рейк в начале вашего
PATH
- Запустите шим по имени
rake
, который в свою очередь передает команду rbenv
Вы испортили свойrbenv
установка.
1) Удаление установки ruby вне rbenv
2) rvm implode
3) ОчиститьПерейдите в переменную $PATH
env из ~/.bash_profile
или ~/.bashrc
Удалите любую ссылку $PATH
, указывающую на ruby
, irb
, gem
или любую папку, включая исполняемый файл bin.Рассмотрите возможность комментирования любого оператора $PATH
из вашего bash_profile
# export PATH="$HOME/etc/bin:$PATH"
# leave the statement below
# export PATH="$HOME/.rbenv/bin:$PATH
Переменная $PATH
содержит список папок:
echo $PATH
home/fabrizio/.rbenv/shims:/opt/android-studio/bin:~/.scripts/bin
, если вы запускаете gem
в своем терминале
любой .bin
исполняемый файл, включенный в home/fabrizio/.rbenv/shims
или /opt/android-studio/bin
, исполняемый из любого места в терминале.Когда вы запускаете gem
, , команда ruby
gem выполняется вместо перехвата из rbenv, потому что вы установили ruby вне rbenv.
ОБНОВЛЕНИЕ НА ОСНОВЕ ВАШЕЙ ОБРАТНОЙ СВЯЗИ
Вы должны были выполнить этот шаг при установке ruby 2.5.0 без rbenv , поэтому удалите из ~/.bash_profile
или ~/.bashrc
следующую строку
PATH="$PATH:$(ruby -e 'puts Gem.user_dir')/bin"
или любая другая строка, которая добавляет /Users/brianp/.gem/ruby/2.5.0/bin
к вашему $PATH
, затем удалить ruby с помощью apt .
Прочитайте следующую информацию , дополнительно всегда проверяйтеместо, где устанавливаются драгоценные камни с помощью gem env:
$ gem env home
# => ~/.rbenv/versions/<ruby-version>/lib/ruby/gems/...
, если местоположение в любом месте терминала не находится под ~/.rbenv/
, тогда вы устанавливаете драгоценные камни в неправильных местах.
LAST RESORT
Удалите папку с драгоценными камнями с помощью rm -rf ~/.gem
, аналогичный подход к этому сообщению , если вы не можете удалить /Users/brianp/.gem/ruby/2.5.0/bin
от вашего $PATH
РЕШЕНИЕ ДЛЯ ВАШЕЙ ПОСЛЕДНЕЙ ОШИБКИ
Эта ошибка вызвана установкой bundler 2.0
can't find gem bundler (>= 0.a) with executable bundle (Gem::GemNotFoundException)
, необходимо удалить bundler 2.0
и установить 1.9.0