PATH
Haskell環境に影響を与えるEmacsの設定に関する問題がある:
ZSHを使用しecho $PATH
ていますが、コマンドラインに移動してを呼び出すと、次のように返されます。/Users/g/Library/Haskell/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin
これは.zprofile
私が持っている構成から来ています:
# Set the list of directories that Zsh searches for programs.
path=(
~/Library/Haskell/bin
/usr/local/{bin,sbin}
$path
)
だから、コマンドラインから、を呼び出すとwhich cabal
、正しく取得されます:/Users/g/Library/Haskell/bin/cabal
Emacsを起動してandにアクセスするshell
とwhich cabal
、次のように/usr/bin/cabal
なります。バージョンが異なるため、問題が発生しています。
echo $PATH
Emacsから検査するとshell
、次のように表示されます。/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/g/Library/Haskell/bin:/usr/local/sbin
いったいどうPATH
違うのか分からない...
誰も私のZSH
シェルとEmacsが同じことに同意する方法を知っていますPATH
か?それがどこcabal
からロードされるかを制御しているのではないかと思う。
更新:echo $SHELL
Emacsの出力から実行:/bin/zsh
更新2:これはOSX上にあります。
更新3:exec-path-from-shellモジュールを使用しようとしましたが、機能しません。私はまだ同じ問題を抱えていますが、副作用として、端末のテーマの色が台無しになります:(
更新4:Emacsをインストールしbrew install --cocoa --srgb emacs
、この方法でリンクされたemacsを実行しました:
~ ❯❯❯ which emacs
/usr/local/bin/emacs
~ ❯❯❯ l /usr/local/bin/emacs
lrwxr-xr-x 1 g admin 30B 29 Jan 18:34 /usr/local/bin/emacs -> ../Cellar/emacs/24.4/bin/emacs
~ ❯❯❯ l /usr/local/Cellar/emacs/24.4/bin/emacs
-r-xr-xr-x 1 g admin 87B 29 Jan 18:34 /usr/local/Cellar/emacs/24.4/bin/emacs
chsh...
私のデフォルトのシェルを変更するために戻って一日中
~/.profile
か、/etc/profile
それから。
~/.zshenv
。これは、シェルが開始されても一貫してソースされます(インタラクティブと非インタラクティブ)。exec-path-from-shell
端末のテーマの色が台無しになっている場合は、呼び出す前にに設定exec-path-from-shell-arguments
して、zsh構成のインタラクティブな部分が実行されていないことを確認できます。nil
exec-path-from-shell-initialize