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

Linux下Haskell 9.4.8的GHCI启动失败求助:路径缺失问题

GHC 9.4.8启动失败:缺失lib64/ghc-9.4.8/bin目录的解决办法

问题核心回答

是的,/root/.ghcup/ghc/9.4.8/lib64/ghc-9.4.8/下必须存在包含可执行文件的bin目录,这是GHC标准安装结构的一部分,脚本中引用的路径是正确的预期路径,目录缺失说明安装过程存在损坏或未完成的情况。

解决步骤

  • 强制重新安装GHC 9.4.8
    最可能的原因是安装包下载损坏或解压不完全,执行以下命令重新安装:

    ghcup install ghc 9.4.8 --force
    

    安装完成后再次尝试启动ghci。

  • 升级ghcup后重新安装
    旧版本ghcup可能存在路径配置bug,先升级ghcup:

    ghcup upgrade
    

    升级完成后再执行上面的强制安装命令。

  • 检查文件系统结构(临时修复方案)
    如果重新安装后仍无bin目录,检查/root/.ghcup/ghc/9.4.8/下是否存在lib/ghc-9.4.8/bin目录(部分系统可能用lib而非lib64):

    ls -l /root/.ghcup/ghc/9.4.8/lib/ghc-9.4.8/
    

    若存在该目录,修改ghc-9.4.8和ghci-9.4.8脚本中的路径:
    将脚本里的lib64替换为lib,例如:

    # 修改ghc-9.4.8脚本中的行
    exedir="/root/.ghcup/ghc/9.4.8/lib/ghc-9.4.8/bin"
    executablename="/root/.ghcup/ghc/9.4.8/lib/ghc-9.4.8/bin/./ghc-9.4.8"
    libdir="/root/.ghcup/ghc/9.4.8/lib/ghc-9.4.8/lib"
    

    注意:此为临时修复,优先推荐重新安装保证结构正确性。

  • 验证权限
    确保安装目录权限正常:

    chmod -R 755 /root/.ghcup/ghc/9.4.8/
    

问题相关信息

报错信息

/root/.ghcup/ghc/9.4.8/bin/ghc-9.4.8: line 12: /root/.ghcup/ghc/9.4.8/lib64/ghc-9.4.8/bin/./ghc-9.4.8: No such file or directory

ghci-9.4.8脚本内容

#!/bin/sh
set -xv
echo "In GHCI 9.4.8"
exedir="/root/.ghcup/ghc/9.4.8/lib64/ghc-9.4.8/bin"
exeprog="./ghci-9.4.8"
executablename="/root/.ghcup/ghc/9.4.8/lib64/ghc-9.4.8/bin/./ghci-9.4.8"
bindir="/root/.ghcup/ghc/9.4.8/bin"
libdir="/root/.ghcup/ghc/9.4.8/lib64/ghc-9.4.8/lib"
docdir="/root/.ghcup/ghc/9.4.8/share/doc/ghc-9.4.8"
includedir="/root/.ghcup/ghc/9.4.8/include"

executable="$bindir/ghc-9.4.8"
exec $executable --interactive "$@"

ghc-9.4.8脚本内容

#!/bin/sh
set -xv
echo "In GHC 9.4.8"
exedir="/root/.ghcup/ghc/9.4.8/lib64/ghc-9.4.8/bin"
exeprog="./ghc-9.4.8"
executablename="/root/.ghcup/ghc/9.4.8/lib64/ghc-9.4.8/bin/./ghc-9.4.8"
bindir="/root/.ghcup/ghc/9.4.8/bin"
libdir="/root/.ghcup/ghc/9.4.8/lib64/ghc-9.4.8/lib"
docdir="/root/.ghcup/ghc/9.4.8/share/doc/ghc-9.4.8"
includedir="/root/.ghcup/ghc/9.4.8/include"

exec "$executablename" -B"$libdir" ${1+"$@"}

执行日志

opensuse-64:~ # ghci
echo "In GHCI 9.4.8"
+ echo 'In GHCI 9.4.8'
In GHCI 9.4.8
exedir="/root/.ghcup/ghc/9.4.8/lib64/ghc-9.4.8/bin"
+ exedir=/root/.ghcup/ghc/9.4.8/lib64/ghc-9.4.8/bin
exeprog="./ghci-9.4.8"
+ exeprog=./ghci-9.4.8
executablename="/root/.ghcup/ghc/9.4.8/lib64/ghc-9.4.8/bin/./ghci-9.4.8"
+ executablename=/root/.ghcup/ghc/9.4.8/lib64/ghc-9.4.8/bin/./ghci-9.4.8
bindir="/root/.ghcup/ghc/9.4.8/bin"
+ bindir=/root/.ghcup/ghc/9.4.8/bin
libdir="/root/.ghcup/ghc/9.4.8/lib64/ghc-9.4.8/lib"
+ libdir=/root/.ghcup/ghc/9.4.8/lib64/ghc-9.4.8/lib
docdir="/root/.ghcup/ghc/9.4.8/share/doc/ghc-9.4.8"
+ docdir=/root/.ghcup/ghc/9.4.8/share/doc/ghc-9.4.8
includedir="/root/.ghcup/ghc/9.4.8/include"
+ includedir=/root/.ghcup/ghc/9.4.8/include

executable="$bindir/ghc-9.4.8"
+ executable=/root/.ghcup/ghc/9.4.8/bin/ghc-9.4.8
exec $executable --interactive "$@"
+ exec /root/.ghcup/ghc/9.4.8/bin/ghc-9.4.8 --interactive

echo "In GHC 9.4.8"
+ echo 'In GHC 9.4.8'
In GHC 9.4.8
exedir="/root/.ghcup/ghc/9.4.8/lib64/ghc-9.4.8/bin"
+ exedir=/root/.ghcup/ghc/9.4.8/lib64/ghc-9.4.8/bin
exeprog="./ghc-9.4.8"
+ exeprog=./ghc-9.4.8
executablename="/root/.ghcup/ghc/9.4.8/lib64/ghc-9.4.8/bin/./ghc-9.4.8"
+ executablename=/root/.ghcup/ghc/9.4.8/lib64/ghc-9.4.8/bin/./ghc-9.4.8
bindir="/root/.ghcup/ghc/9.4.8/bin"
+ bindir=/root/.ghcup/ghc/9.4.8/bin
libdir="/root/.ghcup/ghc/9.4.8/lib64/ghc-9.4.8/lib"
+ libdir=/root/.ghcup/ghc/9.4.8/lib64/ghc-9.4.8/lib
docdir="/root/.ghcup/ghc/9.4.8/share/doc/ghc-9.4.8"
+ docdir=/root/.ghcup/ghc/9.4.8/share/doc/ghc-9.4.8
includedir="/root/.ghcup/ghc/9.4.8/include"
+ includedir=/root/.ghcup/ghc/9.4.8/include

exec "$executablename" -B"$libdir" ${1+"$@"}
+ exec /root/.ghcup/ghc/9.4.8/lib64/ghc-9.4.8/bin/./ghc-9.4.8 -B/root/.ghcup/ghc/9.4.8/lib64/ghc-9.4.8/lib --interactive
/root/.ghcup/ghc/9.4.8/bin/ghc-9.4.8: line 12: /root/.ghcup/ghc/9.4.8/lib64/ghc-9.4.8/bin/./ghc-9.4.8: No such file or directory

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 00:02:11