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

如何从Rails 6.1.4升级到Rails 7并彻底移除旧版默认安装的Webpacker

Rails 6.1.4 升级至 7.0.0 并完全移除 Webpacker 操作指南

一、升级 Rails 核心版本

  • 修改项目根目录下的 Gemfile,将 Rails 版本锁定修改为 7.0.0:
    将原有 gem 'rails', '~> 6.1.4' 替换为 gem 'rails', '7.0.0'
  • 执行命令更新 Rails 及相关依赖:
    bundle update rails
  • 运行官方升级脚本处理配置文件差异:
    rails app:update

    执行过程中会提示是否覆盖原有配置,可先输入 d 查看差异,确认变更点后再选择覆盖或保留自定义配置

  • 验证基础功能兼容性,运行数据库迁移和测试用例确认无报错:
    rails db:migrate
    rails test

二、彻底移除 Webpacker 相关内容

  • 先停止所有正在运行的 webpack-dev-server 进程,避免文件占用导致删除失败
  • 打开 Gemfile,删除 gem 'webpacker' 这一行,之后执行命令移除对应 gem:
    bundle install
  • 执行以下命令删除所有 Webpacker 生成的配置、缓存、可执行文件:
    rm -rf config/webpacker.yml config/webpack
    rm -rf bin/webpack bin/webpack-dev-server
    rm -rf public/packs public/packs-test node_modules
    rm -f package.json yarn.lock .browserslistrc
    
    如果你项目的 .gitignore 文件中有 public/packs、node_modules 等 Webpacker 相关的忽略规则,不需要的话可同步删除
  • 清理代码中对 Webpacker 的引用:
    • 打开 app/views/layouts/application.html.erb,删除所有 javascript_pack_tag、stylesheet_pack_tag 相关代码,根据你选择的 Rails 7 前端方案替换为对应标签(默认 importmap 方案可替换为 javascript_importmap_tags)
    • 打开 config/application.rb,删除 require "webpacker/railtie" 这一行
    • 遍历 config/environments 目录下的所有环境配置文件,删除所有 Webpacker 相关的配置项
  • 验证移除效果:启动 Rails 服务,访问页面确认没有 Webpacker 相关报错即可

内容的提问来源于stack exchange,提问作者Samuel Da Costa

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 19:57:03