Rbenv: eval "$ (rbenv init -)" каждый раз, когда я запускаю Mac OS X 10.11 El Capitan

Созданный на 29 окт. 2015  ·  20Комментарии  ·  Источник: rbenv/rbenv

Почему, следуя вашему руководству в 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
unconfirmed

Самый полезный комментарий

Итак, один из шагов установки включал запуск этого:

echo 'eval "$(rbenv init -)"' >> ~/.bash_profile

Это создаст файл ~/.bash_profile и добавит в него строку, которая инициализирует rbenv каждый раз, когда вы запускаете новую вкладку терминала. Дай мне знать, если это работает.

Все 20 Комментарий

Если вы следовали руководству из 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 для получения инструкций, как указано в предостережениях. Вам нужно будет сделать это только один раз.

  1. Я не нашел никаких оговорок.
  2. Если мне нужно сделать rbenv init только один раз, тогда зачем мне это в моем .bash_profile?

Запуск rbenv init вручную дает вам следующее:

Load rbenv automatically by appending
the following to ~/.bash_profile:
eval "$(rbenv init -)"

но он не говорит, почему вы можете захотеть загрузить rbenv автоматически, или что произойдет, если вы не поместите это в свой .bash_profile.

Я бы хотел удалить его, если это не нужно или нежелательно.
Например, есть ли тест, чтобы узнать, выполняет он полезную функцию или нет?

большое спасибо

  1. Я не нашел никаких оговорок.

Homebrew выводит раздел «Предостережения» при установке формулы rbenv .

  1. Если мне нужно сделать rbenv init только один раз, тогда зачем мне это в моем .bash_profile?

Это означает, что вам нужно запустить его только один раз _ вручную_, чтобы получить инструкции по настройке вашего .bash_profile . Преимущества наличия строки eval ... rbenv init в файле инициализации оболочки описаны в README. Единственное жесткое требование для работы rbenv - добавить ~/.rbenv/shims к вашему PATH. Если вы не хотите использовать rbenv init и можете упустить другие дополнительные функции, вы можете сделать это вручную, отредактировав PATH в своем, опять же, .bash_profile .

@mislav

  1. Я не нашел никаких оговорок.
    Homebrew выводит раздел «Предостережения» при установке формулы rbenv.

ах, большое спасибо

  1. Если мне нужно выполнить 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

Была ли эта страница полезной?
0 / 5 - 0 рейтинги