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

Fedora系统下创建Ruby on Rails项目失败求助

解决Fedora上Rails项目bundle install的两个核心问题

作为Rails新手在Fedora上碰到这些问题很正常,咱们一步步拆解解决:

问题1:nio4r原生扩展编译失败(提示需安装开发工具)

你看到的The compiler failed to generate an executable file. You have to install development tools first是核心提示——虽然你装了ruby-devel,但Fedora默认没配齐编译原生扩展需要的完整工具链。

解决步骤:

  • 先安装Fedora开发工具组和必备依赖:
    sudo dnf groupinstall "Development Tools"
    sudo dnf install openssl-devel redhat-rpm-config
    
    Development Tools包含了gcc、make、autoconf这些编译必需的基础工具,openssl-devel是nio4r这类网络相关gem依赖的加密库,redhat-rpm-config能帮你处理Fedora上的编译配置兼容问题。
  • 安装完成后回到项目目录,重新运行:
    bundle install
    

问题2:找不到sass-rails (~> 5.0) gem

sass-rails 5.x是比较旧的版本,容易碰到源或版本兼容问题,试试下面的方法:

  1. 手动安装指定版本的gem:

    gem install sass-rails -v '~> 5.0'
    

    如果提示找不到,先重置RubyGems源为官方源:

    gem sources --remove https://rubygems.org/
    gem sources --add https://rubygems.org/
    # 查看当前源,确保只有官方源
    gem sources -l
    

    重置后再尝试安装。

  2. 升级sass-rails版本(更推荐):
    打开项目的Gemfile,找到sass-rails那一行,把版本改为6.x(更兼容新环境,且依赖的sassc是维护中的版本):

    gem 'sass-rails', '~> 6.0'
    

    保存后运行bundle install即可。

额外避坑建议

你现在用Fedora包管理安装的Ruby和Rails,很容易出现系统包与gem版本冲突的问题。作为Rails新手,推荐用rbenv或rvm管理Ruby版本,这样每个项目都能拥有独立的Ruby和gem环境,避免系统级依赖混乱。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 08:08:45