如何从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:migraterails 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
相关产品推荐
相关产品推荐

