http://cygwin.com/packages/git/によると、入手可能な最新の Cygwin パッケージは 1.7.9-1 です。
git を少なくとも 1.8.0 に更新したいと思います。
私はこれを行うことができますか?
http://cygwin.com/packages/git/によると、入手可能な最新の Cygwin パッケージは 1.7.9-1 です。
git を少なくとも 1.8.0 に更新したいと思います。
私はこれを行うことができますか?
インストールするgit 1.8.0
には、ソースコードをコンパイルする必要があります。
gitリポジトリのクローンを作成し(git clone https://github.com/git/git.git
)、gitディレクトリに入り、現在のバージョンを1.8.0またはその他の必要なバージョンに変更し(git checkout v.1.8.0
)、次のコマンドを入力する必要があります。
make configure
./configure --prefix=/usr/local
make
make install
/usr/local
ディレクトリの下にgitをインストールします。ドキュメントなどのgitインストールの詳細についてはINSTALL
、gitリポジトリルートにローカライズされたファイルを参照してください。
これらの指示に従って、 git 1.8.4.474 を正常にインストールしました。Windows 7 64 ビット、cygwin バージョン 1.7.22(0.268/5/3) を実行しています。
Cygwin セットアップ ユーティリティを実行し、次のパッケージがインストールされていることを確認します。
gcc autoconf curl libcurl-devel, required for http/https support (NOTE: this is an obsolete package, you will need to uncheck "Hide obsolete packages" when selecting packages to install) make libiconv python perl gettext
libiconv-devel と cygwin32-liviconv が必要になる場合があります (Marek のコメントを参照)
git clone https://github.com/git/git.gitで Git ソースのクローンを作成します。Git 構成に関するいくつかの注意事項:
core.autocrlf=false
そうしないと、ビルドが壊れる原因となる DOS スタイルの行末になってしまいます。私はまた、厄介な
http.sslcainfo
プロパティ値を持っていました。設定を解除するか、または にポイントし/usr/ssl/certs/ca-bundle.crt
ます。新しく複製した git リポジトリから、次のコマンドを実行します。
make configure ./configure make make install
あなたの指示は私にとって本当にうまくいきませんでした...
これらの指示に従いました(すべての正しいパッケージがインストールされていることを確認する限り)
http://randomartifacts.blogspot.com/2013/04/compiling-git-on-cygwin.html
Makefileを修正しました
$ git diff Makefile
diff --git a/Makefile b/Makefile
index 3588ca1..90f337c 100644
--- a/Makefile
+++ b/Makefile
@@ -407,7 +407,7 @@ RPMBUILD = rpmbuild
TCL_PATH = tclsh
TCLTK_PATH = wish
XGETTEXT = xgettext
-MSGFMT = msgfmt
+MSGFMT = msgfmt.py
PTHREAD_LIBS = -lpthread
PTHREAD_CFLAGS =
GCOV = gcov
それから
make configure NO_MSGFMT_EXTENDED_OPTIONS=1
./configure
make NO_MSGFMT_EXTENDED_OPTIONS=1
make install NO_MSGFMT_EXTENDED_OPTIONS=1
すべてのmakeコマンドにparamが必要かどうかはわかりませんが、これでうまくいきました
「make install」を行うときに問題が発生しました。エラーメッセージは次のとおりです。
install -d -m 755 '/usr/local/bin'
git: 'installation' は git コマンドではありません。「git --help」を参照してください。
./install: 4行目: 通常: コマンドが見つかりません
./install: 5行目: will: コマンドが見つかりません
./install: 6行目: to: コマンドが見つかりません
./install: 8行目: $: コマンドが見つかりません
./ install: 11 行目: 予期しないトークン(または prefix=/usr/local) 付近で構文エラーが発生しました。他のプログラム スイートと同じように」.'
./install: line 11:
これは、PATH に「./」がある場合、Windows OS の大文字と小文字が区別されないためです。Cygwin は、/usr/bin/install の代わりに git ソース ツリーの INSTALL ファイルを使用します。ソースツリー内のいくつかの「INSTALL」ファイルの名前を別のファイル名に変更する必要があります。これはhttp://zengrong.net/post/1817.htmで言及されています
これを行うのに問題があり、デバッグに1時間かかりました。他の誰かがここに来て探している場合に備えて、回答を投稿しています。
実際はヨークワーと同じ原因ですが、別のエラーです。
make install
出力されるまですべてがうまくいきます:
$ make install
GEN perl/PM.stamp
SUBDIR gitweb
SUBDIR ../
make[2]: 'GIT-VERSION-FILE' is up to date.
GEN git-instaweb
BUILTIN all
SUBDIR git-gui
SUBDIR gitk-git
SUBDIR perl
SUBDIR templates
install -d -m 755 '/usr/local/bin'
make: execvp: install: Permission denied
Makefile:2342: recipe for target 'install' failed
make: *** [install] Error 127
UAC、setuid、icacls、所有権などを何度もいじった後strace
、実際の問題は実行時にあることinstall
が./
わかりました。ビットが設定されていません。したがって、「許可が拒否されました」とは、このファイルに設定されていないという事実を指します。PATH
INSTALL
x
x
@Yorkwar はすべてのINSTALL
ファイルの名前を変更することでこれを修正しましたが、別のオプションは編集Makefile
して置き換えることです
INSTALL = install
と
INSTALL = /usr/bin/install
Windows 7 64ビットでcygwin 32ビットを使用しています(cygwin64が登場する前にインストールし、アップグレードする必要はありませんでした)。git version 2.0.0.rc4.dirty
の結果、正常にビルドおよびインストールされましたgit clone https://github.com/git/git.git
。
ビルド済みのパッケージは提供されていないため、自分でビルドする必要があります。
または、 Cygwin 以外のビルドをダウンロードして、PATH
.