红宝石在铁轨上。部署失败,因为未找到 markerclusterer
Posted
技术标签:
【中文标题】红宝石在铁轨上。部署失败,因为未找到 markerclusterer【英文标题】:Ruby on rails. Deployment fails because markerclusterer not found 【发布时间】:2016-10-06 00:51:02 【问题描述】:我正在尝试部署到 elasticbeanstalk,但部署失败并显示 Sprockets::FileNotFound: couldn't find file 'markerclustererplus/src/markerclusterer_packed.js' with type 'application/javascript'
最近谷歌改变了它的来源,我跟着this guide重新启用了markerclusterer javascript。
在开发中一切正常,但在部署时失败。如果我删除这些行
#= require markerclustererplus/src/markerclusterer_packed.js
from 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 进入 beanstalk 环境并且找不到路径。
vendor/assets/google-maps-utility-library-v3
存在,但 vendor/assets/google-maps-utility-library-v3/markerclustererplus
不存在。我不知道为什么没有复制集群位。
【问题讨论】:
【参考方案1】:试试git submodule update --init
。
【讨论】:
虽然这没有给出任何错误并且应该完成了子模块部分,但我仍然无法部署,并且仍然得到同样的错误。【参考方案2】:好的,这是一个糟糕的答案,但我的问题是 beanstalk 没有将我的供应商资产添加到部署中。我不知道为什么,它不在任何忽略列表中。
为了解决这个问题,我将 markerclusterer 和 images 分别移至 assets/javascripts -- assets/images。
【讨论】:
以上是关于红宝石在铁轨上。部署失败,因为未找到 markerclusterer的主要内容,如果未能解决你的问题,请参考以下文章