2013-02-24 6 views
5

私はOSX 10.8.2上だと私は、私はちょうど、リモートサーバー上のgitをインストールしはどのようにOSX 10.8

のgitのgit v1.7.4.4を実行していることだし、それはバージョン1.11です上のgitの私のバージョンを更新します。バツ。私はソフトウェアの同じバージョンを実行したいですが、私は自分のラップトップでgitを更新する方法を理解できません。

私は(スムーズに実行された)インストールを実行し、git-OSX-installerをダウンロードするように指示hereを記載された手順に従うことを試み、その後の操作を行います。

$ sudo mkdir -p /usr/local/bin 
$ sudo ln -s /usr/local/git/bin/git /usr/local/bin/git 

しかし、この後、私はgit --versionを行うと、それはまだ1.7です。 4.4。私はちょうど同じバージョンを再インストールしましたか?それとも、別の場所に新しいバージョンをインストールしましたか?

私は同様の質問を読んできましたが、問題は、git-osx-installerまたはmac portsが置く場所とは別の場所にgitの古いバージョンがインストールされているということです。しかし、私はどのようにこれを修正するか分からない。あなたの助言のために事前に感謝します。

更新:

which gitリターン: は/ usr/binに/ gitの

echo $PATHリターン: は/ opt/local/binにします。/ opt/localに/ sbinに:は/ usr/local/RVM /宝石/ruby-1.9.3-p194/bin:/usr/local/rvm/gems/[email protected]/bin:/usr/local/rvm/rubies/ruby-1.9.3-p194/bin/usr/local/bin /:/ usr/local/bin /:/ usr/local/bin /:/ usr/local/bin/opt/sm/pkg/active/bin:/ opt/sm/pkg/active/sbin

更新2:

ESL ~/Downloads$ export PATH=/usr/local/bin:$PATH 
ESL ~/Downloads$ which git 
/usr/local/bin/git 
ESL ~/Downloads$ 
ESL ~/Downloads$ git --version 
git version 1.8.1.3 

ローカルに新しいgitバージョンがインストールされているようです。だから、​​を私の.bash_profileに追加する必要がありますか?両方のバージョンのgitがインストールされているのは問題ですか?

〜/ .bash_profileの末尾に​​を追加して、gitの新しいバージョンが実行されるようになりました。

+0

何が 'git'を表示していますか? 'echo $ PATH'の結果に'/usr/local/bin'が含まれていますか? –

+0

私は両方の質問を上記の質問に追加しました。 – emersonthis

答えて

16

パスで/ usr/binが表示されるため、/ usr/binにあるgit実行可能ファイルが優先されます。 シェルでこれを試してください:

サイドノートで
export PATH=/usr/local/bin:$PATH 
which git 

は、私は強く、このようなMacOSの

+0

上記のテストの結果を、いくつかの対応する質問とともに追加しました。 – emersonthis

+0

あなたは両方のバージョンがインストールされているという問題はありません。あなたは〜/ .bashrcにそのエクスポート行を追加することができます。その後、/ usr/local/binにあるバージョンが常に優先されます。 –

+0

この時点で、私はまだ自家製品を検討すべきか、あるいは私が持っているものをそのまま残すべきですか?私はパッケージマネージャーについて多くのことを知らないので、なぜあなたが強く推奨したのか聞いてみるのは興味があります。 – emersonthis

3

私はCygwin(Windows用にコンパイルされたLinux環境)で同様の問題がありました。私は理解していると主張していない私は

which git 

をするでしょうし、それはソースからコンパイル更新のgitの正しい場所で応答することになるが、私は

hash -r git 

をしたまで実際にそれを使用することはありませんこれが何をしたのか、なぜそれをやらなければならなかったのかが分かりましたが、その後git --versionは '1.8.2.rc0.22.gb3600c3'と答えました。これはもはやCygwinに同梱されていた古いgitです。これはOSXには当てはまらないかもしれませんが、もしwhich gitが更新されたバイナリを探しているならば、それを一撃してください。

+0

私は自分の 'which git'と' $ PATH'を質問に追加しました。これはアドバイスをまったく変えますか? – emersonthis

+0

さて、 'hash -r git'を試してみて、' git --version'があなたに与えるものを見てください。 – Ehryk

+0

ありがとう!私は、シェルが実行可能ファイルのパスを格納するためにハッシュテーブルを使用していることに気づいていませんでした。シェルを再起動することもできますし、ハッシュテーブルもクリアします。詳細についてはhttp://crashingdaily.wordpress.com/2008/04/21/hashing-the-executables-a-look-at-hash-and-type/ – HyBRiD

17

マックOSXのマシン上の任意のバイナリを更新するための最良の方法でこのようインストールを管理するためのhomebrewを使用してお勧めしますMac用に特別に開発されたパッケージ(.dmgまたは.pkgのダウンロード)を使用することです。

gitの場合、これはhttp://git-scm.com/download/mac です(このリンクをクリックすると自動的にgitの最新バージョンのダウンロードが開始されます)。 - IMO全体の目的に反しパッケージが/usr/local/gitでのgitをインストールし、$PATHの終わりにそのパスを追加します。

はしかし、(少なくとも私の10.8.3のMacBook用)この場合には、これは非常に全体的な話ではなかったです。

$ git --version 
git version 1.8.2.2 
:あなたはそれを行うならば、あなたが選んだされているのgitの正しいバージョンを確認する必要があり

export PATH=/usr/local/git/bin:$PATH 

は、私はそう先に示唆したものと同様のものを有するように私.bashrcを手動で変更しています

これは、(例えば、ドッキングバーを介して)インタラクティブに起動するアプリケーションでは機能しません。ダウンロードしたパッケージに含まれている追加のスクリプトを実行する必要があります。手順についてはREADMEをご覧ください。

+0

この変更を元に戻す簡単な方法はありますか?私が試した別の方法がうまく働いているかどうかをテストしたいだけです。 – reem

関連する問題