Ruby 在 rails。部署失败,因为找不到 markerclusterer

Ruby on rails. Deployment fails because markerclusterer not found

我正在尝试部署到 elasticbeanstalk,但部署失败 Sprockets::FileNotFound: couldn't find file 'markerclustererplus/src/markerclusterer_packed.js' with type 'application/javascript'

最近 Google 改变了它的来源,我跟着 this guide 重新启用了 markerclusterer javascript.

开发中一切正常,但部署时失败。如果我删除行

#= require markerclustererplus/src/markerclusterer_packed.js 从 application.js.erb 然后应用程序部署但显然地图不起作用。

我可以看到 vendor/assets/google-maps-utility-library-v3/markerclustererplus/src/ markercluster_packed.js 确实存在。我想这就是它在开发中工作的原因,但我不知道为什么它在部署时失败。

现在,也许我做错了什么,因为教程的最后一行 git submodule update — init 对我来说失败并出现错误:

error: pathspec '—' did not match any file(s) known to git.
error: pathspec 'init' did not match any file(s) known to git.

我没有多想,因为开发环境工作正常,但也许这与我的问题有关。这是我第一次在 git 中处理子模块,所以我可能遗漏了一些东西。

更新:虽然 vendor/assets/google-maps-utility-library-v3/markerclustererplus/src/ markercluster_packed.js 确实存在于开发环境中,但我刚刚通过 SSH 进入了 beantalk 环境,但找不到路径。 vendor/assets/google-maps-utility-library-v3 存在,但 vendor/assets/google-maps-utility-library-v3/markerclustererplus 不存在。我不知道为什么 clusterer 位没有被复制。

尝试git submodule update --init

好的,这是一个糟糕的答案,但我的问题是 beantalk 没有将我的供应商资产添加到部署中。我不知道为什么,它不在任何忽略列表中。

为了解决这个问题,我将 markerclusterer 和图像分别移动到 assets/javascripts -- assets/images。