1.9.0 — Homebrew から Linux と Windows もサポートされ始めましたが、以下は macOS を対象に書いています。- 2019/02/22 追記
Homebrew でインストールしたけど、どうも元から入っている古いバージョンの方が使われている。そんな時に確認するための記事です。正しくパスを通してやれば解決しますが、始めたばかりの頃は何のことだかよくわかりませんでした。
パスを通す:コンピュータにコンピュータ上のどこから優先的にそのコマンドを探すか教えてあげる事。
まずは確認
Homebrew から svn を入れたけどどうもバージョンが低い、まずは確認。この例ではwitch
というコマンドを使って、コンピュータ上のどこにあるsvn
コマンドを使う設定になっているか確認してます。
$ which svn
/usr/bin/svn
これは最初から入ってる svn
$ svn --version
svn, version 1.6.5 (r38866)
compiled Oct 16 2009, 02:54:10
Homebrew でインストールした svn 。Homebrew ではデフォルトで/usr/local/bin
以下にインストールされる。それを直接指定してバージョンを確認。
$ /usr/local/bin/svn --version
svn, version 1.6.13 (r1002816)
compiled Nov 10 2010, 18:21:15
それぞれ正しくインストールはされている。問題は正しくパスが通せていないことにありそう。
パスを確認
printenv
で設定されている環境変数を確認
$ printenv PATH
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin
設定を変更
どんな方法でも良いので、.bashrc
を開いて編集
$ vi ~/.bashrc
以下の例では/usr/local/bin:
を一番左に追記した。(左から優先度が高い):
は区切り文字でつまり以下の順番で探すことをコンピュータに教えている
- /usr/local/bin
- /usr/bin
- /bin
- /usr/sbin
- /sbin
- /usr/X11/bin
PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/X11/bin
人によって違うこともあると思うけど、Homebrew を最優先したい場合は一番左で OK
再度確認
ターミナルを再起動(一旦閉じて開く)して再度確認
$ printenv PATH
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/X11/bin
ちゃんと変わってる。 svn も確認
$ svn --version
svn, version 1.6.13 (r1002816)
compiled Nov 10 2010, 18:21:15
期待通りに Homebrew からつかってくれてる。