Clojure的Emacs CIDER repl - 来自.profile的环境变量缺失

aur*_*amo 8 macos emacs cocoa clojure cider

我不知道这是一般的Emacs问题还是特定的clojure/cider.无论如何:我如何传递在shell中工作的环境变量,并在我的〜/ .profile中配置.现在如果我在我的项目中lein repl,这很好用:

(System/getenv "FOO")
-> "BAR
Run Code Online (Sandbox Code Playgroud)

但是当我在我的项目中使用cider-jack-in时,CIDER repl无法看到变量:

(System/getenv "FOO")
-> nil
Run Code Online (Sandbox Code Playgroud)

我正在使用Emacs版本24.4.50的GUI(Cocoa)版本.苹果酒版本是苹果酒 - 20140718.747.

Art*_*ldt 4

正如noisesmith指出的那样,您可以在系统范围内设置环境变量,这样您就不需要让emacs使用您的.profile设置,或者您可以从命令行启动emacs,以便它从.profile获取设置,如下所示在这个答案中:/sf/answers/927016541/从命令行启动它很好,因为您可以使用不同的设置启动多个 emacs。或者从脚本启动它们:

FOO="BAR" /Applications/Emacs.app/Contents/MacOS/Emacs project.clj
Run Code Online (Sandbox Code Playgroud)

将以值为“BAR”的 foo 启动 emacs,而不改变系统范围内的任何内容。

  • 对于一次性环境变量设置,还有 `mx setenv` (6认同)