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

CMake安装报错:INSTALL目标路径非目录问题求助

解决CMake Error: file INSTALL destination is not a directory 问题

这个问题的核心原因大概率是你设置CMAKE_INSTALL_PREFIX时用了波浪号(~),而sudo执行命令会切换到root用户环境——root的家目录和你的普通用户家目录完全不同,导致~/Desktop/Geant/geant4.10.04-install这个路径在root视角里根本不存在,哪怕你普通用户能正常访问这个目录也没用。

下面是具体的解决步骤:

  • 替换波浪号为绝对路径
    先在终端执行命令获取你的普通用户家目录绝对路径:

    echo $HOME
    

    输出会类似/home/your_username,接着把CMAKE_INSTALL_PREFIX改成完整的绝对路径,比如:

    cmake -DCMAKE_INSTALL_PREFIX=/home/your_username/Desktop/Geant/geant4.10.04-install [你的其他CMake配置参数]
    
  • 清理CMake缓存并重新配置
    进入你的build目录,删除CMake缓存文件(或者直接删除整个build目录重建):

    rm CMakeCache.txt
    # 或者更彻底的重建方式
    rm -rf build && mkdir build && cd build
    

    之后重新执行上面的cmake配置命令。

  • 重新编译安装
    用多线程加速编译,再执行安装:

    make -j$(nproc)
    sudo make install
    
  • 可选:跳过sudo直接安装
    如果你创建的geant4.10.04-install目录属于你的普通用户且有读写权限,其实完全可以不用sudo,直接执行:

    make install
    

    这样不会切换到root环境,波浪号路径也能被正常解析。

你可以验证一下root环境下的路径是否存在:执行sudo ls ~/Desktop/Geant/geant4.10.04-install,如果提示"No such file or directory",就坐实了是波浪号解析的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 04:12:14