Sen nasıl bir şey eklemeyi deneyebilirsiniz senin .emacs
:
(let ((path (shell-command-to-string ". ~/.bashrc; echo -n $PATH")))
(setenv "PATH" path)
(setq exec-path
(append
(split-string-and-unquote path ":")
exec-path)))
.bashrc
Eğer .bash_profile
veya env değişkenleri kurdum olmadığını size bağlı Bu snippet'i hafifçe ayarlamanız gerekebilir. Örnek, PATH
değişken için biraz daha özel olan (exec-path
'u Emacs'te de ayarlamanız gerektiğinden), ancak isteğe bağlı değişkenler için çalışacak şekilde genişletilebilir - buradan okunması gereken değişkenlerin bir listesi olabilir. .bashrc
ve Emacs olarak ayarlayın.
OS X veya GNU/Linux kullanıp kullanmadığınızdan emin değilim. Linux'taki GUI'nin menü çubuğundan Emacs'i başlatmak, genellikle komut satırından başlatılanla aynı PATH
'a sahip olmayan bir Emacs ile sonuçlanacaktır. Bu sorun ilk xdm
Xsession betiklerine kadar uzanır ve düzeltmek oldukça kolay olsa da (temelde exec $SHELL -c Xsession
komutunu kullanan ve kullanıcının Xsession'ı çalıştırmadan önce kabuk çalıştırılırsa), kimse çok uzun bir süre uğraşmak zorunda kalmaz zaman (ve kimsenin bundan şüpheliyim). Bildiğim kadarıyla problem, kdm
ve gdm
gibi moder xdm türlerine bile var.
OS X'te, env değişkenlerinin işlenmesi tamamen başka bir sorundur ve ENV değişkenlerinizin elde edilmesi için genellikle Emacs'i komut satırından bu /Applications/Emacs.app/Contents/MacOS/Emacs
gibi çalıştırmak veya ~/.MacOSX/environment.plist
ile oynamak zorundasınız. Sağladığım kod snippet'i her iki durumda da sizi kapsamalıdır.
Güncelleme
Son zamanlarda bu süreç exec-path-from-shell uzantısı kolay yapıldı. Emacs $PATH
'u aşağı yukarı aynı şekilde ayarlar, ancak çözümün kendiliğinden kesilmesi için genellikle bir uzantı kullanılması tercih edilir.
Bu Flymake perlbrew doğru Perl kullanmayan ile benim sorunu çözmek. Perlbrew-mini.el dosyasının aksine, – titanofold
_exec-path-from-shell_ harika bir programdır ve başarımı _ensime_ ile başlatıp "yanlış tip argüman stringp nil" hatası veremedi. – cyrillk
Neden split-string yerine split-string-and-unquote kullanıyorsunuz? –