【问题标题】:Do I have to run rake assets:clean before rake assets:precompile?我必须在 rake assets:precompile 之前运行 rake assets:clean 吗?
【发布时间】:2012-08-24 04:58:13
【问题描述】:

我使用 git 将代码部署到我的生产服务器。这可能包括对 JS 和 CSS 文件的更改。

在运行rake assets:precompile 之前我必须运行rake assets:clean 吗?我担心不清理以前的预编译资产可能会产生副作用。

这有点傻,但我的 google-fu 没有找到任何答案。我的 AWS 实例运行 rake assets:clean 非常缓慢,我想知道是否需要它。

另外,我可以用简单的rm -r public/assets 替换 clean 命令吗?

【问题讨论】:

  • 如果在 Rubymine 中使用,必须在 ruby​​mine 中运行

标签: ruby-on-rails-3 asset-pipeline


【解决方案1】:

不,您之前不需要运行 rake assets:clean,只需运行 rake assets:precompile 就会重新编译您的资产。它将重新创建您的缓存破坏摘要和 manifest.yml(其中包含将每个资产名称与其 MD5 缓存破坏名称匹配的键/值映射)

是的,你可以运行 rm -r public/assets

【讨论】:

  • 为了彻底,如果你不清理的话,public/assets 目录中不会有上次预编译的遗留文件吗?
  • 我相信资产文件夹将只包含预编译的内容。您可以仔细检查已删除的资产是否仍然显示,但它们不应列在将所有内容映射在一起的 manifest.yml 中
  • 凯尔,这也是我所看到的。当我运行 rake assets:clean 时,它不会删除我编译的 CSS 文件的先前版本。我想知道它是否可能故意保留以前的版本?
  • Wes,您是为开发还是生产进行预编译?你试过“rm -r public/assets”吗?
  • 我之前没有清理过这个错误:stackoverflow.com/questions/29063613/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多