Ubuntu 17.10:移除重复安装的Cabal版本或保留用户版方法求助
当然可行!两种方案都能解决你遇到的重复安装问题,下面给你详细的操作步骤:
方案一:彻底移除所有Cabal及其包,重新配置
这个方案适合想完全清空现有配置,从头开始的情况:
- 先卸载通过系统包管理器安装的Cabal(如果之前用apt装过):
sudo apt remove --purge cabal-install - 删除当前用户目录下的所有Cabal相关文件(包括包、缓存、配置):
rm -rf ~/.cabal/ - 删除root用户目录下的Cabal文件(sudo安装的包都存在这里):
sudo rm -rf /root/.cabal/ - 清理系统级的Cabal二进制文件(sudo安装时可能会放到这个位置):
sudo rm -f /usr/local/bin/cabal - 重新安装Cabal:推荐用系统包管理器或者GHCup(Haskell官方工具链管理器),如果用apt:
安装完成后执行sudo apt install cabal-installcabal update更新包索引,之后就可以正常安装xmobar了:cabal install xmobar
方案二:保留本地用户版,移除root权限安装的版本
如果想保留自己用户目录下的Cabal配置,只清理root安装的版本,按以下步骤来:
- 先确认两个版本的位置:
- 查看当前用户的Cabal路径:
which cabal,正常应该输出~/.cabal/bin/cabal - 查看root的Cabal路径:
sudo which cabal,大概率是/usr/local/bin/cabal或者/root/.cabal/bin/cabal
- 查看当前用户的Cabal路径:
- 删除root的Cabal二进制文件:如果上面查到是
/usr/local/bin/cabal,执行:sudo rm -f /usr/local/bin/cabal - 删除root目录下的Cabal包和缓存:
sudo rm -rf /root/.cabal/ - 确保用户的
PATH环境变量优先加载本地Cabal的bin目录:
检查当前PATH:echo $PATH,如果~/.cabal/bin不在最前面,编辑你的shell配置文件(比如~/.bashrc或~/.zshrc),添加一行:
然后刷新配置:export PATH="$HOME/.cabal/bin:$PATH"source ~/.bashrc(对应你的shell配置文件) - 最后更新本地Cabal的包索引,安装xmobar:
cabal update cabal install xmobar
注意:如果之前用sudo安装的包影响了本地依赖,执行cabal clean清理本地项目的缓存后再安装xmobar会更稳妥。
内容的提问来源于stack exchange,提问作者Aram Papazian
相关产品推荐
相关产品推荐

