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

在全新虚拟机编译Ruby遇configure错误:无法运行/bin/sh tool/config.sub

解决FreeBSD上编译Ruby时configure: error: cannot run /bin/sh tool/config.sub的问题

遇到这种情况我太懂了——在全新FreeBSD虚拟机上编译Ruby时踩这个坑真的很闹心,尤其是试了常规的autoreconf --install还没用的情况。咱们一步步来排查解决:

  • 第一步:确认Git子模块已拉取
    Ruby源码仓库里的tool/目录内容是作为Git子模块存在的,直接git clone默认不会拉取这些子模块,这就会导致config.sub这类文件缺失。进入你的Ruby源码目录,执行:

    git submodule update --init --recursive
    

    这会把所有依赖的子模块内容拉取完整,包括tool/下的配置脚本。

  • 第二步:安装FreeBSD必备的编译依赖
    FreeBSD默认的基础工具链可能缺少生成配置文件所需的组件,先把这些依赖装上:

    pkg install autoconf automake libtool bash
    

    这些包会提供autoreconf、config.sub生成工具,以及更兼容的bash环境。

  • 第三步:彻底重新生成配置文件
    之前的autoreconf --install可能不够彻底,试试带强制参数的命令,确保所有必要的配置文件都被生成并替换:

    autoreconf -fvi
    

    其中-f强制覆盖现有文件,-v显示详细过程,-i安装缺失的辅助脚本。

  • 第四步:解决Shell兼容性问题
    FreeBSD默认的/bin/sh和Ruby配置脚本可能存在兼容性问题,你可以直接用bash来运行configure:

    bash ./configure
    

    或者干脆把默认Shell换成bash(需要先装了bash):

    chsh -s /usr/local/bin/bash
    

    重新登录后再运行./configure。

  • 额外清理:重置配置缓存
    如果之前跑过configure留下了缓存文件,可能会干扰新的配置过程,先删掉这些缓存:

    rm -rf config.cache autom4te.cache
    

做完这些步骤后,再重新运行./configure应该就能正常进行了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.07 20:07:30