私はgitのgithubでwikiを読んでいますが、msys2にはpacmanがバンドルされていると書かれています: https://github.com/git-for-windows/git/wiki/Package-management
しかし、私がそれを呼び出しているとき:
$ pacman
bash: pacman: command not found
誰が何が起こっているのか知っていますか?このウィキが参照するgitバージョンはどれですか? Git for windows内のmsys2に追加パッケージをインストールする方法はありますか?
issue 397 で述べたように:
これは意図されたものです。 pacmanをGit for Windowsに同梱していません。
本格的なパッケージマネージャーが管理する環境に興味がある場合は、 Git for Windows SDK を試してみる必要があります。
Windowsの最新git(2.5.3) に表示されるbashは、 古いmsysgitのものよりも最近のbash であり、gitコマンドを実行するためだけにあります。
サードパーティのパッケージをインストールするのは本格的なLinux環境ではありません。
Git for Windows( https://gitforwindows.org/ または https://git-scm.com/downloads )(Git Bashがありますが、tree
は含まれません。 tree
はpacman
(パッケージマネージャー)で使用できますが、「Git for Windows[〜#〜] sdk [〜#〜] "( https://gitforwindows.org/ の一番下までスクロールすると、 https://github.com/git-for-windowsからインストーラをダウンロードするためのリンクが提供されます/ build-extra/releases/latest )
このSO:「git for windowsでのパッケージ管理?」非常に役に立ちました git for windowsでのパッケージ管理?
また、上記のSOでコメントされているように、彼らはデフォルトのインストールにpacman
を含めないことを意図したこのgit for Windowsの問題[Pacman missing on fresh 2.5.2 install#397]にリンクしています。
とにかく、「Git for Windows SDK」をインストールしてから、bash Prompt(SDK-64)で次のコマンドを実行して現在のツリーv1.7.0-1をインストールしました(2018年8月30日現在)。
[SDK-64: Bash Terminal for Git for Windows SDK]
pacman -S tree
...
Proceed with installation? [Y/n] Y
私のシステムでは、Git for Windows SDKが次の場所にインストールされています:C:\git-sdk-64
なので、Git for Windows Bash Shell(ツリーがインストールされていない)から、tree.exeを介して/ usr/binディレクトリにコピーしました。
[MINGW64: Bash Terminal for Git for Windows]
cd /usr/bin
cp /c/git-sdk-64/usr/bin/tree.exe .
これで、両方のGit Bashシェルからtree
v1.7.0を実行できます。
だから、他の人やおそらく自分の将来のマシンでさらに簡単にするために、Git for Windows SDK Bashターミナルで次を実行してpacman
がtree
パッケージを取得する場所を調べました。
$ pacman -S --info tree
Repository : msys
Name : tree
Version : 1.7.0-1
Description : A directory listing program displaying a depth indented list of files
Architecture : x86_64
...
ここで重要なのは、pacman
が「msys」リポジトリから取得していることです(FYI:msysと言っても、実際にはmsys2を使用しているため)/etc/pacman.d/mirrorlist.msys
および最初のミラーはhttp://repo.msys2.org/msys/$Arch/
したがって、次回Git for Windowsにないパッケージが必要な場合は、以下からダウンロードできます。 http://repo.msys2.org/msys/x86_64/ (64ビットの場合)または http://repo.msys2.org/msys/i686/ (32ビット)
例えばツリーv1.7.0-1の直接ダウンロードリンク
参考: https://git-scm.com/download/ でのGit SCMのWindowのダウンロードは、Git for Windows GitHubのGitから最新のものを取得します( https://github.com/git-for -windows/githttps://github.com/git-for-windows/git/releases/ リンクから)
既に動作しているGit for Windowsのインストールから移動したくなかったので、少し即興しました。
${git-sdk}/usr/bin/pacman.exe
から${git}/usr/bin
${git-sdk}/etc/pacman.conf
および${git-sdk}/etc/pacman.d
から${git}/etc
${git-sdk}/var
から${git}/
それで全部です。 Git Bashを開いてpacman -S python
既存のGit for Windowsセットアップにパッケージをインストールします。
Git for Windowsディレクトリへの書き込みアクセスが必要になります。また、pacman
は(SDKから)多くのパッケージがインストールされていると考えていますが、使用を止めることはできませんでした。
文書化された方法 があるようで、Git for Windows SDKをインストールせずにこれを行う(非常に大きい)。 GitHubでこのすべてについて質問したときに、PhilipOakleyからこの情報へのリンクが提供されました issue#1912 。
Git for Windows GitHubの現在のテキストは次のとおりです wikiページ それについて:
MSYS2本体内にインストールする
このガイドでは、64ビットバージョンのGit for Windowsが必要であることを前提としています
Git for WindowsはMSYS2に基づいているため、
git
パッケージを既存のMSYS2インストールにインストールすることができます。つまり、コンピューターで既にMSYS2を使用している場合、フルインストーラーまたはポータブルバージョンを使用せずにGit for Windowsを使用できます。ただし、この方法を使用する場合は注意が必要です。 Git for Windowsは、
msys2-runtime
のアップストリームに送信されないパッチをいくつか作成しました。 (これは計画されていましたが、問題であると判断されました #284 それはおそらく起こらないでしょう。)これは、Git for Windowsカスタマイズmsys2-runtime
をインストールして完全にMSYS2内でgitを動作させます。ここで実行する手順:
MSYS2ターミナルを開きます。
/etc/pacman.conf
を編集し、[mingw32]
の直前(私のマシンでは#71行目)、git-for-windows
パッケージリポジトリを追加します。
[git-for-windows] Server = https://wingit.blob.core.windows.net/x86-64
また、オプションでoppositeアーキテクチャのMINGW専用リポジトリ(つまり、64ビットSDKのMINGW32):
[git-for-windows-mingw32] Server = https://wingit.blob.core.windows.net/i686
- 署名キーを承認します(この手順は、 https://github.com/msys2/msys2/issues/62 が修正されるまで時々繰り返される必要があります)
curl -L https://raw.githubusercontent.com/git-for-windows/build-extra/master/git-for-windows-keyring/git-for-windows.gpg | pacman-key --add - && pacman-key --lsign-key 1A9F3986
- 次に、新しいリポジトリを同期します
pacboy update
これにより
msys2-runtime
が更新されるため、ウィンドウを閉じるように求められます(notpacmanプロセスを終了するだけです)。パニックにならないで、現在開いているすべてのMSYS2シェルとMSYS2プログラムを単に閉じてください。タスクマネージャーを再確認し、ウィンドウが閉じた後も実行されているpacman.exe
を強制終了します。すべてを閉じたら、新しいターミナルを再度起動します。次に、同期again(パッケージの非コア部分を更新):
pacboy update
- 最後に、Git/cURLパッケージをインストールします。
pacboy sync git:x git-doc-html:x git-doc-man:x git-extra: curl:x
- 最後に、MINGW64シェルで
git --version
を実行して、すべてがうまくいったことを確認し、git version 2.14.1.windows.1
(またはそれ以降)のようなものを出力します。