आप के लिए की तरह कुछ जोड़ने की कोशिश कर सकते हैं अपने .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)))
आप .bash_profile
या में env चर निर्धारित किया है के आधार पर .bashrc
आप इस स्निपेट को थोड़ा समायोजित करने की आवश्यकता हो सकती है। उदाहरण PATH
चर के लिए है, जो थोड़ा अधिक विशेष है (क्योंकि आपको Emacs में exec-path
भी सेट करना होगा), लेकिन मनमाने ढंग से चर के लिए काम करने के लिए बढ़ाया जा सकता है - आपके पास वेरिएबल की एक सूची हो सकती है जिसे पढ़ना है .bashrc
और Emacs में सेट करें।
मुझे यकीन नहीं है कि आप ओएस एक्स या जीएनयू/लिनक्स का उपयोग कर रहे हैं या नहीं। लिनक्स में जीयूआई के मेनू-बार से Emacs शुरू करना आम तौर पर एक Emacs में परिणाम होगा जो कमांड लाइन से लॉन्च किए गए PATH
के समान नहीं है। यह समस्या पहले xdm
Xsession स्क्रिप्ट पर वापस आती है, और जब वे ठीक करने के लिए काफी आसान हैं (मूल रूप से Xsessionwrapper
स्क्रिप्ट का उपयोग करें जो exec $SHELL -c Xsession
करता है तो खोल को उपयोगकर्ता के Xsession चलाने से पहले चलाया जाता है), किसी को भी बहुत लंबे समय तक ऐसा करने में परेशानी नहीं होती है समय (और मुझे संदेह है कि कोई भी करेगा)। जहां तक मुझे पता है कि समस्या भी मध्यम xdm वंशजों में kdm
और gdm
में मौजूद है।
ओएस एक्स पर एनवी चर के हैंडलिंग पूरी तरह से एक और समस्या है और अपने एनएनवी वेरिएबल्स प्राप्त करने के लिए आपको आमतौर पर कमांड लाइन से Emacs चलाने की आवश्यकता है जैसे /Applications/Emacs.app/Contents/MacOS/Emacs
या ~/.MacOSX/environment.plist
के साथ खेलो। कोड स्निपेट जो मैंने प्रदान किया है, आपको दोनों मामलों में कवर करना चाहिए।
अद्यतन
हाल ही में इस प्रक्रिया exec-path-from-shell विस्तार के द्वारा आसान बना दिया गया था। यह emacs $PATH
को कम या ज्यादा तरीके से सेट करता है, लेकिन एक एक्सटेंशन का उपयोग आमतौर पर समाधान को हैक करने के लिए बेहतर होता है।
स्रोत
2012-03-12 09:53:40
यह Flymake perlbrew से सही पर्ल का उपयोग नहीं के साथ मेरी समस्या का समाधान। perlbrew-mini.el विपरीत – titanofold
_exec-पथ-से-shell_ महान है और _ensime_ जो प्रारंभ नहीं हो सका और 'फेंक गलत प्रकार तर्क stringp nil' त्रुटि के साथ मेरी समस्या का समाधान। – cyrillk
आप विभाजन स्ट्रिंग और गंदें शब्द बोलना विभाजन स्ट्रिंग के बजाय क्यों प्रयोग करते हैं? –