Avoir des problèmes avec les PATH
paramètres d'Emacs qui affectent mon environnement Haskell:
J'utilise ZSH, et quand je vais sur la ligne de commande et que j'appelle echo $PATH
, il renvoie:/Users/g/Library/Haskell/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin
Cela vient de la .zprofile
configuration où j'ai:
# Set the list of directories that Zsh searches for programs.
path=(
~/Library/Haskell/bin
/usr/local/{bin,sbin}
$path
)
Ainsi, à partir de la ligne de commande, lorsque j'appelle which cabal
, j'obtiens correctement:/Users/g/Library/Haskell/bin/cabal
Quand je démarre Emacs et que je vais sur shell
et j'appelle which cabal
, je reçois: /usr/bin/cabal
ce qui me pose problème car c'est une version différente.
Quand j'inspecte echo $PATH
depuis Emacs shell
, je vois:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/g/Library/Haskell/bin:/usr/local/sbin
Je ne sais pas comment ça PATH
peut être différent ...
Tout le monde sait comment obtenir mon ZSH
shell et Emacs d'accord sur le même sujet PATH
? Je soupçonne que c'est ce qui contrôle d'où cabal
vient le chargement.
MISE À JOUR : Exécution à echo $SHELL
partir des impressions Emacs:/bin/zsh
MISE À JOUR 2 : C'est sur OSX .
MISE À JOUR 3 : J'ai essayé d'utiliser le module exec-path-from-shell et cela ne fonctionne pas. J'ai toujours les mêmes problèmes, et comme effet secondaire, cela gâche les couleurs de mon thème de terminal :(
MISE À JOUR 4 : J'ai installé Emacs via brew install --cocoa --srgb emacs
et je lance emacs qui est lié de cette façon:
~ ❯❯❯ 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...
rappelé dans la journée pour changer mon shell par défaut
~/.profile
ou /etc/profile
ensuite.
~/.zshenv
, qui proviendront de manière cohérente quel que soit le shell démarré (interactif ou non interactif). Si exec-path-from-shell
salit vos couleurs du thème du terminal, vous pouvez définir exec-path-from-shell-arguments
à nil
avant d' appeler exec-path-from-shell-initialize
pour vous assurer qu'il ne court pas les parties interactives de votre config zsh.