4

添加 ERB 加载程序并将.erb文件扩展名添加到我的application包(使用webpacker)后,我收到以下错误:

ERROR in ./app/webpack/packs/application.js.erb
Module build failed: Error: spawn bin/rails ENOENT
    at _errnoException (util.js:1024:11)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:190:19)
    at onErrorNT (internal/child_process.js:372:16)
    at _combinedTickCallback (internal/process/next_tick.js:138:11)
    at process._tickCallback (internal/process/next_tick.js:180:9)
 @ multi (webpack)-dev-server/client?http://localhost:3035 ./app/webpack/packs/application.js.erb

样品hello_erb.js.erb包也会发生这种情况。

这是一个重现问题的示例应用程序:https ://github.com/jonhue/test_app

4

2 回答 2

5

您可能缺少生成的文件

如果您缺少可执行文件,则可能您已按照此问题bin/rails上的步骤从存储库中克隆了 如果您正确安装了 rails 然后运行,您的环境应该很好:

导轨 < 5

$ bundle exec rake rails:update:bin

导轨 >= 5

$ rails app:update:bin

您可能在 webpack 安装和/或配置方面遇到问题

如果这些文件存在,您可能在安装和/或配置 webpackbin\时遇到了问题。尝试创建一个项目,安装文档之后的所有内容,使用 GitHub 之类的版本控制系统提交它,复制/粘贴您的项目配置和它,我打赌您会发现它们之间的差异。git diff

您正在使用 Windows 或某些有问题的环境

如果是这种情况,已经有讨论在 webpacker github 的一个开放问题中修复它。但是您可以尝试直接从 github 使用 webpacker 来获取最新修复,降级到其他版本以查看结果是否不同,或者使用源代码中的 webpack 并将文件install.rake更改./bin/rails app:template...为 just rails app:template...

于 2018-02-14T03:44:03.863 回答
2

ERB 运行器配置包含一个必须更改才能在 Windows 上运行的设置。打开config\webpack\loaders\erb.js并替换这一行:

runner: "bin/rails runner"

用这条线:

runner: "ruby bin\\rails runner
于 2018-02-16T18:49:03.587 回答