gpt4 book ai didi

Haskell:为什么在 cabal 下运行我的项目时我的环境变量不可用?

转载 作者:行者123 更新时间:2023-12-02 16:03:37 25 4
gpt4 key购买 nike

有人知道如何定义由 cabal 运行的程序访问的环境变量吗?

我想定义我的程序可用的系统环境变量,例如通过System.Environment的“getEnv”函数。这些变量可用于 ghci 中的“getEnv”,但不可用于使用 cabal 运行的程序(“cabal run”)。

我将环境变量定义为:

$ export myvar=MYVALUE

在 ghci 中可以访问它们:

Prelude System.Environment> getEnv "myvar"
"MYVALUE"

但是,类似地在我的程序中使用“getEnv”并使用“cabal run”运行会出现错误:

getEnv: does not exist (no environment variable)

不知何故,我的程序在通过 cabal 运行时找不到它们。我尝试将“导出”语句放入 .bash_profile 中并重新启动终端。但这在 ghci 中工作时遇到了同样的问题,并在与 cabal 一起运行时出现该错误。

最佳答案

感谢您的评论,我意识到这只是由于我犯了一个愚蠢的错误。

我的程序使用了几个不同的环境变量,其中一些已成功读取 - 该错误是由于缺少一个我未在 ghci 中测试过的环境变量造成的。

所以问题是由于没有测试所有变量,这是一个愚蠢的错误,但无论如何感谢您的评论,因为它们有助于诊断问题。

关于Haskell:为什么在 cabal 下运行我的项目时我的环境变量不可用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40523024/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com