全新Ubuntu环境下原生Rails安装出现Webpacker错误:webpack命令未找到
Rails 6 Webpacker 编译失败问题解决方案
核心根因
你遇到的报错核心来自两个层面:
- 项目存储在VirtualBox共享文件夹
/media/sf_coding/下,VirtualBox默认禁用共享文件夹的符号链接创建权限,yarn安装webpack相关依赖时需要生成软链接指向可执行文件,导致依赖安装不完整,出现webpack命令找不到、manifest.json为空的报错。 - Rails 6.1默认绑定的webpack-dev-server版本存在peer依赖缺失,未安装对应版本的webpack。
解决步骤
- 关闭运行中的VirtualBox虚拟机,在宿主机命令行执行命令开启共享文件夹软链接权限(Windows宿主机运行CMD,macOS/Linux宿主机运行终端):
VBoxManage setextradata <你的虚拟机名称> VBoxInternal2/SharedFoldersEnableSymlinksCreate/<你的共享文件夹名称> 1
将尖括号内容替换为你自己的虚拟机名称、共享文件夹名称即可。
- 重启虚拟机后,建议优先选择在Ubuntu用户home目录下创建项目,规避共享文件夹的潜在权限问题,执行标准创建流程:
cd ~ rails new testapp cd testapp rails generate scaffold Product name:string rails db:migrate
- 安装匹配版本的webpack相关依赖,解决peer依赖告警:
yarn add webpack @webpack-cli/serve
- 启动Rails服务即可正常访问:
rails server
兜底方案
如果不需要使用webpacker做前端构建,也可以在创建项目时跳过webpacker安装,直接使用asset pipeline:
rails new testapp --skip-webpack-install
内容的提问来源于stack exchange,提问作者bizzz
相关产品推荐
相关产品推荐

