Почему, следуя вашему руководству в Readme, в Mac OSX 10.11 El Capitan мне приходится каждый раз инициализировать Rbenv с помощью этой команды?
eval "$(rbenv init -)"
После перезагрузки у моего Mac есть стандартный ruby -v, а мой $ PATH - это стандартный PATH:
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
Если вы следовали руководству из Readme, как выглядит ваш ~/.bash_profile
? Есть ли в нем файлы инициализации rbenv
@mislav , я следил за этой частью руководства:
Homebrew в Mac OS X
В качестве альтернативы установке через GitHub checkout вы можете установить rbenv и ruby-build с помощью диспетчера пакетов Homebrew в Mac OS X:
$ brew update
$ brew install rbenv ruby-build
Впоследствии вам все равно нужно будет добавить eval "$ (rbenv init -)" в свой профиль, как указано в предупреждениях. Вам нужно будет сделать это только один раз.
Почему не работает?
Что именно не работает?
Можете ли вы вставить нам вывод:
grep rbenv ~/.bash_profile`
grep: /Users/myusername/.bash_profile: нет такого файла или каталога
Итак, один из шагов установки включал запуск этого:
echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
Это создаст файл ~/.bash_profile
и добавит в него строку, которая инициализирует rbenv каждый раз, когда вы запускаете новую вкладку терминала. Дай мне знать, если это работает.
Привет @mislav
Мой вывод из grep показывает несколько моих попыток добавить:
grep rbenv ~/.bash_profile`
export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"
export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"
eval "$(rbenv init -)"
eval "$(rbenv init -)"`
Но у меня все еще есть:
#Load rbenv automatically by appending
#the following to your profile:
eval "$(rbenv init -)"
каждый раз, когда я открываю свой iTerm.
Вы все равно можете меня направить?
Спасибо
Я также добавил: .zshrc
@egdevelop. Если вы используете zsh в качестве оболочки входа в систему (оболочка по умолчанию при открытии iTerm), то изменение .bash_profile
имеет никакого эффекта, и вы можете очистить его. Также нет причин, по которым в .bash_profile
должно быть столько повторяющихся строк для настройки rbenv.
Для zsh убедитесь, что в вашем ~/.zshrc
есть следующее:
export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"
Затем перезапустите оболочку. Вы должны иметь возможность запускать такие команды rbenv, как:
$ rbenv version
2.2.3 (set by /Users/mislav/.rbenv/version)
$ rbenv shell
rbenv: no shell-specific version configured
Закрытие, так как эта ветка посвящена проблеме конфигурации со стороны пользователей, а не ошибке с rbenv.
@ egg-develop Вы когда-нибудь находили решение? Мой терминал при каждом открытии выводит один и тот же результат:
# Load rbenv automatically by appending
# the following to ~/.bash_profile:
eval "$(rbenv init -)"
Мой .bash_profile:
rbenv init
if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi
export PATH="/usr/local/bin:$PATH"
export CLICOLOR=1
export NVM_DIR="/Users/barron/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm
eval "$(rbenv init -)"
@barronlroth У вас есть 3 строки в вашем профиле bash, которые вызывают rbenv init
, но вам нужна только одна.
Вы можете оставить эту строку, но удалить другие вызовы:
if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi
@mislav Вот и исправление! Спасибо брат.
Это все еще необходимо или желательно иметь это в .bash_profile?
eval "$(rbenv init -)"
Раздел документации Homebrew на https://github.com/rbenv/rbenv
говорит:
После этого вам все равно нужно будет запустить
rbenv init
для получения инструкций, как указано в предостережениях. Вам нужно будет сделать это только один раз.
- Я не нашел никаких оговорок.
- Если мне нужно сделать
rbenv init
только один раз, тогда зачем мне это в моем .bash_profile?
Запуск rbenv init
вручную дает вам следующее:
Load rbenv automatically by appending
the following to ~/.bash_profile:
eval "$(rbenv init -)"
но он не говорит, почему вы можете захотеть загрузить rbenv автоматически, или что произойдет, если вы не поместите это в свой .bash_profile.
Я бы хотел удалить его, если это не нужно или нежелательно.
Например, есть ли тест, чтобы узнать, выполняет он полезную функцию или нет?
большое спасибо
- Я не нашел никаких оговорок.
Homebrew выводит раздел «Предостережения» при установке формулы rbenv
.
- Если мне нужно сделать
rbenv init
только один раз, тогда зачем мне это в моем .bash_profile?
Это означает, что вам нужно запустить его только один раз _ вручную_, чтобы получить инструкции по настройке вашего .bash_profile
. Преимущества наличия строки eval ... rbenv init
в файле инициализации оболочки описаны в README. Единственное жесткое требование для работы rbenv - добавить ~/.rbenv/shims
к вашему PATH. Если вы не хотите использовать rbenv init
и можете упустить другие дополнительные функции, вы можете сделать это вручную, отредактировав PATH в своем, опять же, .bash_profile
.
@mislav
- Я не нашел никаких оговорок.
Homebrew выводит раздел «Предостережения» при установке формулы rbenv.
ах, большое спасибо
- Если мне нужно выполнить rbenv init только один раз, зачем мне это в моем .bash_profile?
Это означает, что вам нужно запустить его вручную только один раз, чтобы получить инструкции по настройке вашего .bash_profile. Преимущества наличия строки eval ... rbenv init в файле инициализации оболочки описаны в README. Единственное жесткое требование для работы rbenv - добавить ~ / .rbenv / shims к вашему PATH. Если вы не хотите использовать rbenv init и можете упустить другие дополнительные функции, вы можете сделать это вручную, отредактировав PATH в своем, опять же, .bash_profile.
Здорово! Спасибо за указатель. То, что вам не нужно делать rbenv rehash
вручную, того стоит. :-)
предостережения удаляются с forumla с помощью https://github.com/Homebrew/homebrew-core/commit/ea9dd0e0dd9abf2d452e5675ffad5169e617a041
У меня точно такая же проблема.
Я установил rbenv с помощью homebrew, но когда я выполняю rbenv init, я получаю ту же ошибку.
Вот результат grep rbenv ~/.bash_profile
:
eval "$(rbenv init -)"
и вывод из rbenv init -
:
export PATH = "/ Users / rahulsharma / .rbenv / shims: $ {PATH}"
экспорт RBENV_SHELL = bash
источник '/usr/local/Cellar/rbenv/1.1.0/libexec/../completions/rbenv.bash'
команда rbenv rehash 2> / dev / null
rbenv () {
местная команда
command = "$ 1"
если ["$ #" -gt 0]; тогда
сдвиг
фи
case "$ command" в
перефразировать | оболочка)
eval "$ (rbenv" sh- $ command "" $ @ ")" ;;
*)
command rbenv "$ command" "$ @" ;;
esac
}
заранее спасибо
Итак, один из шагов установки включал запуск этого:
echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
Это создаст файл
~/.bash_profile
и добавит в него строку, которая инициализирует rbenv каждый раз, когда вы запускаете новую вкладку терминала. Дай мне знать, если это работает.
Эта ебля у меня сработала. Извините за ненормативную лексику, но это уместно, так как я боролся с этим несколько часов.
Что делать, если echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
не работает? Я продолжаю получать сообщение
# Load rbenv automatically by appending
# the following to ~/.bash_profile:
eval "$(rbenv init -)"
Я проверил профиль bash, и к нему был добавлен eval "$(rbenv init -)"
.
Я нашел это видео весьма полезным!
https://www.youtube.com/watch?v=-DJz7yC3iOI
Самый полезный комментарий
Итак, один из шагов установки включал запуск этого:
Это создаст файл
~/.bash_profile
и добавит в него строку, которая инициализирует rbenv каждый раз, когда вы запускаете новую вкладку терминала. Дай мне знать, если это работает.