Tener algunos problemas con la PATHconfiguración en Emacs que están afectando a mi entorno Haskell:
Estoy usando ZSH, y cuando voy a la línea de comando y llamo echo $PATH, me devuelve:/Users/g/Library/Haskell/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin
Esto viene de la .zprofileconfiguración donde tengo:
# Set the list of directories that Zsh searches for programs.
path=(
~/Library/Haskell/bin
/usr/local/{bin,sbin}
$path
)
Entonces, desde la línea de comando, cuando llamo which cabal, obtengo correctamente:/Users/g/Library/Haskell/bin/cabal
Cuando inicio Emacs y voy a shelly llamo which cabal, obtengo: /usr/bin/caballo que me está causando problemas ya que es una versión diferente.
Cuando inspecciono echo $PATHdesde Emacs shell, veo:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/g/Library/Haskell/bin:/usr/local/sbin
No tengo idea de cómo PATHpuede ser diferente ...
¿Alguien sabe cómo lograr que mi ZSHshell y Emacs acuerden lo mismo PATH? Sospecho que eso es lo que controla desde dónde cabalse está cargando.
ACTUALIZACIÓN : Ejecutando echo $SHELLdesde impresiones Emacs:/bin/zsh
ACTUALIZACIÓN 2 : Esto está en OSX .
ACTUALIZACIÓN 3 : He intentado usar el módulo exec-path-from-shell y no funciona. Todavía tengo los mismos problemas y, como efecto secundario, estropea los colores de mi tema terminal :(
ACTUALIZACIÓN 4 : He instalado Emacs a través de brew install --cocoa --srgb emacsy ejecuto emacs que está vinculado de esta manera:
~ ❯❯❯ 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...en el día para cambiar mi shell predeterminado
~/.profileo /etc/profileluego.
~/.zshenv, que se obtendrán de forma coherente sin embargo, se inicia el shell (interactivo frente a no interactivo). Si exec-path-from-shelles echar a perder sus colores del tema terminales, se puede establecer exec-path-from-shell-argumentsque nilantes de llamar exec-path-from-shell-initializepara asegurarse de que no se está ejecutando las partes interactivas de su configuración zsh.