OSX10.6.8でEmacs24を使用しています。やることmagit-status
は言う
プログラムの検索:そのようなファイルやディレクトリはありません、git
ただし、Emacsシェルはを見つけることができるgit
ので、これは問題ではないようです$PATH
。他に何ができるでしょうか?
exec-path
変数の値を確認してみてください。これは、Emacsが外部実行可能ファイル(gitを含む)を探すディレクトリを制御します。
これはカスタマイズ可能な変数でありgit
、既存のディレクトリのリストにパスを追加できます。
私の.emacs.d/init.el
ファイルには、OSXでEmacsをインストールするためのelispスニペットがあります。これにより、PATH
とがexec-path
正しく設定されます。
;;; Set localized PATH for OS X
(defun my-add-path (path-element)
"Add the specified PATH-ELEMENT to the Emacs PATH."
(interactive "DEnter directory to be added to path: ")
(if (file-directory-p path-element)
(progn
(setenv "PATH" (concat (expand-file-name path-element) path-separator (getenv "PATH")))
(add-to-list 'exec-path (expand-file-name path-element)))))
(if (fboundp 'my-add-path)
(let ((my-paths (list "/opt/local/bin" "/usr/local/bin" "/usr/local/git/bin")))
(dolist (path-to-add my-paths (getenv "PATH"))
(my-add-path path-to-add))))
OS X上のEmacsは、システム全体の環境変数を使用します。これenvironment.plist
は、適切なディレクトリに魔法のXMLファイルを作成することでオーバーライドできます。ただし、より良い解決策は、Emacs$PATH
にシェルからの値をコピーさせて、で表示されるものと一致させることですTerminal.app
。
@Anupamの答えは、私がこの目的のために最初に書いたコードのスニペットに基づいていますが、今ではそのコードを改善し、MarmaladeまたはMelpaからインストールできるという小さなelispライブラリexec-path-from-shell
として公開しています。