Последняя версия Bison установлена, но не используется

$ brew install bison
Warning: bison-3.0.2 already installed
$ bison -V
bison (GNU Bison) 2.3

Как я могу изменить версию Bison в версии 3.0.2? Я на OS X 10.9.4. Я перезапустил терминал после $brew install bison.

UPDATE

Я действительно не уверен, что это проблема HomeBrew или Bison. Я переустановил Bison с MacPorts:

$port install bison
......
$bison -V
bison (GNU Bison) 2.7.12-4996

MacPorts не установили последнюю версию Bison, но она изменила используемую версию Bison на ту, которая была установлена.

UPDATE ON $PATH

$echo $PATH
/opt/local/bin:/opt/local/sbin:/usr/local/bin:/Users/my_user_name/.rbenv/shims:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/munki:/usr/local/mysql/bin:/Users/my_user_name/code/bin:/Users/my_user_name/code/bin/git:/Users/my_user_name/code/bin/old_git:/Users/my_user_name/code/bin:/Users/my_user_name/code/bin/git:/Users/my_user_name/code/bin/old_git:/Users/my_user_name/.rvm/bin

Ответ 1

У вас есть /opt/local/bin в вашем пути до /usr/local/bin. Homebrew устанавливается по умолчанию в /usr/local/bin, поэтому, возможно, у вас есть другая версия в /opt/local/bin, которая сначала найдена.

Ответ 2

Я просто столкнулся с той же проблемой - в моем случае brew не создавал символические ссылки. Вы можете заставить это получить правильную версию с помощью:

$ brew unlink bison
Unlinking /usr/local/Cellar/bison/3.0.4... 0 symlinks removed

$ brew link bison
Warning: bison is keg-only and must be linked with --force
Note that doing so can interfere with building software.

$ brew link bison --force
Linking /usr/local/Cellar/bison/3.0.4... 9 symlinks created

$ source ~/.bash_profile
$ bison -V
bison (GNU Bison) 3.0.4

Ответ 3

спасибо за ответ Андрея. Просто немного улучшить, не нужно --force

brew link bison
Warning: bison is keg-only and must be linked with --force
Note that doing so can interfere with building software.

If you need to have this software first in your PATH instead consider 
running:
   echo 'export PATH="/usr/local/opt/bison/bin:$PATH"' >> ~/.zshrc

Я использую исправление Echo Patch для zshrc, после source ~/.zshrc, бизон был самой новой версией (используйте версию brew install bison).

Ответ 4

$ brew unlink bison
Unlinking /usr/local/Cellar/bison/3.4... 0 symlinks removed

$ brew install bison

$ brew link bison --force
Linking /usr/local/Cellar/bison/3.4... 9 symlinks created

$ echo 'export PATH="/usr/local/opt/bison/bin:$PATH"' >> ~/.bash_profile

$ export LDFLAGS="-L/usr/local/opt/bison/lib"

$ source ~/.bash_profile
$ bison -V
bison (GNU Bison) 3.4