Mengalami beberapa masalah dengan PATHpengaturan pada Emacs yang memengaruhi lingkungan Haskell saya:
Saya menggunakan ZSH, dan ketika saya pergi ke baris perintah dan menelepon echo $PATH, ia kembali:/Users/g/Library/Haskell/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin
Ini berasal dari .zprofilekonfigurasi tempat saya memiliki:
# Set the list of directories that Zsh searches for programs.
path=(
~/Library/Haskell/bin
/usr/local/{bin,sbin}
$path
)
Jadi, dari baris perintah, ketika saya menelepon which cabal, saya mendapatkan:/Users/g/Library/Haskell/bin/cabal
Ketika saya memulai Emacs dan pergi ke shelldan menelepon which cabal, saya mendapatkan: /usr/bin/cabalyang menyebabkan saya masalah karena ini versi yang berbeda.
Ketika saya memeriksa echo $PATHdari Emacs shell, saya melihat:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/g/Library/Haskell/bin:/usr/local/sbin
Saya tidak tahu bagaimana PATHbisa berbeda ...
Adakah yang tahu bagaimana cara mendapatkan ZSHshell saya dan Emacs untuk menyetujui hal yang sama PATH? Saya menduga itulah yang mengendalikan dari mana cabalsedang diambil.
UPDATE : Menjalankan echo $SHELLdari cetakan Emacs:/bin/zsh
UPDATE 2 : Ini ada di OSX .
PEMBARUAN 3 : Saya telah mencoba menggunakan modul exec-path-from-shell dan tidak berfungsi. Saya masih memiliki masalah yang sama, dan sebagai efek samping, itu mengacaukan warna tema terminal saya :(
PEMBARUAN 4 : Saya telah menginstal Emacs via brew install --cocoa --srgb emacsdan saya menjalankan emacs yang ditautkan dengan cara ini:
~ ❯❯❯ 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...kembali pada hari itu untuk mengganti shell default saya
~/.profileatau /etc/profilekemudian.
~/.zshenv, yang akan diambil secara konsisten namun shell dimulai (interaktif vs. non-interaktif). Jika exec-path-from-shelladalah mengacaukan warna tema terminal Anda, Anda dapat mengatur exec-path-from-shell-argumentsuntuk nilsebelum memanggil exec-path-from-shell-initializeuntuk memastikan itu tidak berjalan bagian interaktif config zsh Anda.