emacs:emacs26.1_use_magit_on_windows_10

Windows 10のEmacs 26.1でMagitを使う

M-x package-install magitでインストールできる・・・はずなんだけど、うちの環境では Wrong number of argumentsなるエラーが出て入らなかった(´・ω・`)

仕方ないので公式リポジトリからzip取ってきて、LoadPathが通ってるところに設置。Magitの動作には以下のパッケージが要るので、必要に応じてM-x package-installする。

  • async
  • dash
  • with-editor
  • git-commit
  • magit-popup

magit-popupのみ、うちの環境では(ryだったので公式リポジトリから(ry

v2.90からtransientパッケージも必要になったっぽい?

Magitはgitコマンド実行時にmagit-git-executable変数のgitコマンドを使用する。

マニュアルによれば、WindowsとmacOSではMagit読み込み時にgitコマンドの絶対パスが設定される。magit-git.elを見ると、何やらgitコマンドのパスを求める処理が確かに入っている。環境変数PATHが通っているgit.exeを自動で探してくれるようだが、上手く設定されない場合は手動で設定する。

TRAMPを使ってリモートのリポジトリを操作する場合は、magit-remote-git-executableが使用される。大抵、リモート環境といえばUNIX系だと思うが、その場合はデフォルト値の“git”のままで動くはず。動かなければリモート環境のgitをフルパスで設定してやる。

(require 'magit)
(setq magit-git-executable "U:/msys64/usr/bin/git.exe")
;(setq magit-remote-git-executable "/path/to/remote/git")

まずは何も指定せずgit管理下のファイルを開き、M-x magit-statusが動くかどうかを見るのが手っ取り早い。Git管理下にもかかわらず「Create repository in /path/to/gitrepo/?」や「Searching for program: No such file or directory, git」出たら、Magitがgitコマンドを見つけられなかった可能性が高い。それからmagit-git-executableをアレコレ指定してみるのが良いだろう。

この辺はPATHやらTRAMPの設定やら接続先の環境やらが絡んでて非常にわかりづらい。

  • emacs/emacs26.1_use_magit_on_windows_10.txt
  • 最終更新: 2021-08-14 23:50
  • by Decomo