【问题标题】:Removing Precompiled Assets in Rails before Push to Heroku在推送到 Heroku 之前删除 Rails 中的预编译资产
【发布时间】:2016-05-12 04:34:50
【问题描述】:

我在 Rails 4.0.8 上有一个 Heroku 应用程序。

在早期的某个时候,我意识到我的 CSS 和 JS 更改不会推送到 Heroku,除非我运行 rake assets:precompile 并在推送之前提交新的资产文件 (git push heroku master)。

我已经进行这些资产预编译大约 14 个月了,我已经积累了超过 48mb 的似乎是旧的预编译资产。但是,当我手动将它们从 public/assets 中删除时,我的网站会丢失其所有 CSS 和 JS。

如何删除旧的预编译资产并让 Heroku 在推送时开始编译?

【问题讨论】:

    标签: ruby-on-rails ruby git heroku asset-pipeline


    【解决方案1】:

    按照以下步骤操作:

    rake assets:clean
    git add .
    git commit -m commit_name
    git push heroku branch_name
    

    这将在本地清理您的资产 + 推动 heroku 将预编译资产。

    【讨论】:

    • 谢谢,做到了。这是我在推送到 Heroku 时看到的:Detected manifest file, assuming assets were compiled locally
    • 擦除我的公共资产目录中的清单文件似乎已经成功了!
    【解决方案2】:

    试试下面的代码。

    rake assets:clean
    

    【讨论】:

    • 谢谢。看起来这清除了不重要的资产。现在,如何让 Heroku 在推送时自动预编译?
    • 现在从你的 git repo 中删除这些资产并重新推送到 Heroku。 Heroku 将检测到您没有预编译的资产,并将在部署过程中编译它们。所有这些都包含在此处的文档中 devcenter.heroku.com/articles/rails-asset-pipeline
    猜你喜欢
    • 2012-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多