You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Windows 10安装Haskell Stack时彻底避开%APPDATA%目录?

完全自定义Haskell Stack路径(彻底避开%APPDATA%)

1. 预先创建自定义目录结构

在MSYS2 bash中执行命令,在目标目录下建立Stack所需的子目录:

mkdir -p /c/HaskellStack/{root,config}

其中root用于存放快照、编译器、下载的包文件,config用于存储Stack的配置文件。

2. 编写自定义配置文件

在/c/HaskellStack/config/config.yaml路径下创建配置文件,写入以下内容强制所有路径指向自定义目录:

# 指定全局配置目录
global-config: /c/HaskellStack/config
# 指定栈根目录,与后续环境变量保持一致
root: /c/HaskellStack/root
# 自定义用户配置文件路径
user-config: /c/HaskellStack/config/user-config.yaml
# 缓存目录也放在自定义路径下
cache-dir: /c/HaskellStack/root/cache
# 自定义本地二进制文件输出路径
local-bin-path: /c/HaskellStack/bin

如果不需要单独的用户配置,Stack会自动生成user-config.yaml到指定路径,无需手动创建。

3. 配置MSYS2 bash的永久环境变量

编辑MSYS2用户目录下的~/.bashrc文件,添加以下环境变量配置:

# 设定Stack核心路径变量,彻底避开AppData
export STACK_ROOT="/c/HaskellStack/root"
export STACK_CONFIG_PATH="/c/HaskellStack/config/config.yaml"
export STACK_GLOBAL_CONFIG="/c/HaskellStack/config/config.yaml"
# 可选:若用到Cabal工具,同步配置其路径
export CABAL_CONFIG="/c/HaskellStack/config/cabal.config"
export CABAL_DIR="/c/HaskellStack/cabal"

保存文件后,重启MSYS2 bash或执行source ~/.bashrc让配置立即生效。

4. 验证配置有效性

运行以下命令检查Stack的路径配置:

stack path --root
stack path --config-location
stack path --global-config

所有输出应指向C:\HaskellStack下的对应目录,而非%APPDATA%路径。

此后执行stack ghci或其他Stack命令时,所有下载、安装、配置文件都会存储在自定义目录中,不会再触碰%APPDATA%。若之前%APPDATA%下有Stack残留文件,可手动删除C:\Users\[USER]\AppData\Roaming\stack目录避免干扰。

内容的提问来源于stack exchange,提问作者sdbbs

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 09:35:06