Получение "Предупреждение! PATH неправильно настроен" при использовании rvm 2.0.0 --default
Выше не работает в первый раз, работает 2-й раз.
Попробуйте установить версию ruby версии 2.0.0 для любых новых окон оболочки.
Выполнение
$ rvm use 2.0.0 --default
дает
Warning! PATH is not properly set up, '/home/durrantm/.rvm/gems/ruby-1.9.3-p125/
bin' is not at first place,
usually this is caused by shell initialization files - check them for '
PATH=...' entries,
it might also help to re-add RVM to your dotfiles: 'rvm get stable --au
to-dotfiles',
to fix temporarily in this shell session run: 'rvm use ruby-1.9.3-p125'
.
Using /home/durrantm/.rvm/gems/ruby-2.0.0-p247
Затем сделаем то же самое
$ rvm use 2.0.0 --default
теперь не дает ошибки, т.е.
$ rvm use 2.0.0 --default
Using /home/durrantm/.rvm/gems/ruby-2.0.0-p247
durrantm.../durrantm$
но новые окна все еще дают мне ruby 1.9.3, а не 2.0.0
В моем файле .bashrc
есть:
PATH=$PATH:$HOME/.rvm/bin # Add RVM to PATH for scripting
[[ -s "/home/durrantm/.rvm/scripts/rvm" ]] && . "/home/durrantm/.rvm/scripts/rvm"
У моего .bash_profile есть:
source ~/.profile
case $- in *i*) . ~/.bashrc;; esac
Попытка
rvm get stable
похоже, работает, но в конце много зеленого вывода показывает:
Could not update RVM, get some help at #rvm IRC channel at freenode servers.
Новые окна терминала с rvm list rubies
показывают это:
$ rvm list rubies
Warning! PATH is not properly set up, '/home/durrantm/.rvm/gems/ruby-1.9.3-p125/bin' is not at first place,
usually this is caused by shell initialization files - check them for 'PATH=...' entries,
it might also help to re-add RVM to your dotfiles: 'rvm get stable --auto-dotfiles',
to fix temporarily in this shell session run: 'rvm use ruby-1.9.3-p125'.
rvm rubies
=> ruby-1.9.3-p125 [ x86_64 ]
ruby-1.9.3-p194 [ x86_64 ]
* ruby-2.0.0-p247 [ x86_64 ]
# => - current
# =* - current && default
# * - default
Ответы
Ответ 1
Ответ заключался в следующем:
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
# Load RVM into a shell session *as a function*
** в BOTTOM ** (последняя строка - важная!) моего .bashrc файла. У меня было это в моем файле .bash_profile (я на Ubuntu), и это только частично работало, приводя к запутанным ошибкам.
Ответ 2
Я застрял после того, как я удалил rvm с помощью
rvm implode
то после переустановки rvm он получил то же сообщение об ошибке.
Просматривая страницу веб-сайта git. Он перечисляет инструменты на своей странице и рекомендует использовать
rvm reset
после установки. Это зафиксировало мое сообщение об ошибке. Никаких изменений в PATH не требуется.
Ответ 3
Возможно, это не лучший способ разрешить это, но я добавил эту строку в botton моего .zshrc(он тоже будет работать в .bashrc!)
export PATH="$GEM_HOME/bin:$PATH"
Ответ 4
Я попробовал решение Майкла Дарранта, и это не сработало для меня. но я побежал rvm get stable --auto-dotfiles
, и он начал работать по своему желанию.
Надеюсь, что это поможет
Ответ 5
Это не ответ на заданный вопрос, а на связанный с ним вопрос, который задали большинство комментаторов/респондентов - зачем вам нужно поставить строку rvm в нижней части файла оболочки rc?
Ответ прост.
- Загружаемый rvm-код ставит двоичные каталоги rvm ruby на "фронт"
$PATH
и
-
.bashrc
(или эквивалент для вашей оболочки по умолчанию) читается и интерпретируется по строкам сверху вниз.
Итак, представьте себе следующий сценарий:
$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin
$ [[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
/Users/sankalp/.rvm/gems/ruby-1.9.3-p547/bin:/Users/sankalp/.rvm/gems/[email protected]/bin:/Users/sankalp/.rvm/rubies/ruby-1.9.3-p547/bin:/Users/sankalp/bin:/usr/texbin/:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin
$ export PATH=<something>:$PATH
$ echo $PATH
<something>:/Users/sankalp/.rvm/gems/ruby-1.9.3-p547/bin:/Users/sankalp/.rvm/gems/ruby-1.9.3-[email protected]/bin:/Users/sankalp/.rvm/rubies/ruby-1.9.3-p547/bin:/Users/sankalp/bin:/usr/texbin/:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin
Ясно, что если что-то присутствует в файле инициализации оболочки после строки RVM и вносит какие-либо изменения в $PATH, более конкретно, если он добавляет каталоги к $PATH
, то эти изменения будут толкать каталоги, добавленные rvm вниз с их первого должность. RVM, при вызове, обнаружит, что его рубиновые двоичные каталоги не находятся в самом начале $PATH
и BAM! вы получите предупреждение:).
Надеюсь, что все станет ясно.
Ответ 6
У меня есть следующий вопрос (хочу, чтобы я мог просто добавить комментарий, но у меня недостаточно кредитов). У меня была такая же проблема - и когда я последовал за rvm script, который был предложен с использованием --auto-dotfiles
, у меня возникли проблемы, так как он как-то shell script удалил мой файл .bashrc_profile.
Во всяком случае, я в конце концов пришел к тому же ответу, указанному выше, поместив эту строку в конец файла .bashrc.
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
Вы случайно обнаружили, почему это работает так, как это делается, а не с линией в середине файла .bashrc? У вас есть ясность в отношении того, как Unix загружает переменную окружения, которая заставляет RVM работать в одном экземпляре, а не в другом?
Ответ 7
Просто добавив свой опыт: , если вы используете .bash_profile
, проверьте, не мешает ли .bashrc
. Убийство .bashrc
в пользу одиночной конфигурации Bash на .bash_profile
работает в этом случае.
Ответ 8
Я столкнулся с такой же проблемой. Я обнаружил, что в файле bashrc
export PATH="$PATH:$HOME/.rvm/bin" # Add RVM to PATH for scripting
export PATH=$HOME/local/bin:$PATH
export PATH="$PATH:$HOME/.rvm/bin" # Add RVM to PATH for scripting
несколько записей для rvm.
Я прокомментировал одну запись и ее рабочий тон.
#export PATH="$PATH:$HOME/.rvm/bin" # Add RVM to PATH for scripting
#export PATH=$HOME/local/bin:$PATH
export PATH="$PATH:$HOME/.rvm/bin" # Add RVM to PATH for scripting
Ответ 9
Я очистил все, что было .rvm в нем из моей строки PATH = в моем .zshrc
Это устранило проблему для меня, где другие ответы здесь (поиск rvm script, или стабилизация с автоматическими dotfiles) не сделал.
Ответ 10
Я нашел эту команду очень полезной.
Он решает мое дело. Поэтому, если у кого-то такая же проблема, попробуйте:
rvm get stable --auto-dotfiles
Ответ 11
rvm install ruby-head
Исправлена проблема для меня - мало времени, но сделал трюк. Не уверен, что это сделало любые непредвиденные обновления для моих файлов bash.
Ответ 12
Я закончил удаление ~/.profile
, ~/.bashrc
и ~/.zshrc
.
В основном я сохранял ~/.bash_profile
на своем mac. И это работает.
Я думаю, что в моем случае есть:
export PATH="$PATH:$HOME/.rvm/bin"
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*
в этих файлах, а те дублирующие настройки путают rvm
Ответ 13
Это сработало после комментирования двух верхних дублирующих строк и добавления их внизу. Не забудьте перезапустить терминал, чтобы он заработал.
#[[ -s "$HOME/.profile" ]] && source "$HOME/.profile" # Load the default .profile
#[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*
export PATH="/usr/local/opt/[email protected]/bin:$PATH"
export LDFLAGS="-L/usr/local/opt/[email protected]/lib"
[[ -s "$HOME/.profile" ]] && source "$HOME/.profile" # Load the default .profile
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*
Ответ 14
Можете добавить
rvm_silence_path_mismatch_check_flag=1
в ваш файл ~/.rvmrc
. Это то, что предлагает предупреждающее сообщение.
Ответ 15
Я ОСНОВАЛ ЭТУ ПРОБЛЕМУ.
ПОПРОБУЙТЕ ИСПОЛЬЗОВАТЬ КОМАНДУ КАК ЭТО:
rvm use 2.0.0-p353
ADD -p353 или другая версия версии до конца строки