5

OSX10.6.8でEmacs24を使用しています。やることmagit-statusは言う

プログラムの検索:そのようなファイルやディレクトリはありません、git

ただし、Emacsシェルはを見つけることができるgitので、これは問題ではないようです$PATH。他に何ができるでしょうか?

4

2 に答える 2

5

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))))
于 2012-09-12T22:43:52.133 に答える
2

OS X上のEmacsは、システム全体の環境変数を使用します。これenvironment.plistは、適切なディレクトリに魔法のXMLファイルを作成することでオーバーライドできます。ただし、より良い解決策は、Emacs$PATHにシェルからの値をコピーさせて、で表示されるものと一致させることですTerminal.app

@Anupamの答えは、私がこの目的のために最初に書いたコードのスニペットに基づいていますが、今ではそのコードを改善し、MarmaladeまたはMelpaからインストールできるという小さなelispライブラリexec-path-from-shellとして公開しています。

于 2012-09-13T09:39:10.677 に答える