Heroku build failing - Sprockets::ArgumentError: require_tree argument must be a directory

Heroku build failing - Sprockets::ArgumentError: require_tree argument must be a directory

我正在尝试将我的 Rails 3.2 应用程序推送到 Heroku,但推送被拒绝,因为 Sprockets 找不到我使用 require_tree 引用的目录。

app/assets/javascripts/application.js:

//= require_tree ../../../vendor/assets/extender/

构建的错误部分如下所示:

Running: rake assets:precompile
rake aborted!
Sprockets::ArgumentError: require_tree argument must be a directory
(in /tmp/.../app/assets/javascripts/application.js:1)

据我所知,vendor/assets/ 下的项目应该像在 app/assets/ 下一样可用,但我似乎无法让它工作以及我在上面做的方式在本地工作,所以我 运行 它。

我不明白的是为什么 这在本地有效,但在推送到 Heroku 时却无效。非常感谢任何帮助!

app/assets/javascriptsvendor/assets/javascripts 合并到同一级别,所以你应该 require_tree extender 如果 vendor/assets/javascripts/extender/ 存在。

你不应该去做 ../../../vendor/assets/javascripts/。请参阅 http://guides.rubyonrails.org/asset_pipeline.html#asset-organization

中的 搜索路径

已解决:由于某种原因,我的 .gitignore 忽略了 /vendor