运行 `rake assets:precompile` 在开发模式下,但不要创建不必要的文件

Run `rake assets:precompile` in development mode, but don't create unnecessary files

每当我推动生产(不是 Heroku)时,我都会得到

rails assets precompile phase failed

我想添加一种方法来强制我的同事检查他们的 css 代码,因此我要求他们所有人 运行

rake assets:precompile

甚至在进入分支之前确保他们都确保没有出现任何 CSS 语法错误。 Git 总是生成 public/assets 文件夹,我不想将其添加到我的 git 存储库中,因此我在 gitignore -> public/assets 中添加了以下行. Evan,git 不想忽略我来自 public/assets 的文件。有没有办法忽略生成到该文件夹​​中的文件?生成后是否有其他路径?

git doesn't want to ignore my files from public/assets

发生这种情况是因为您/您的团队成员已经 public/assets 提交回购协议。 This answer 概述了 运行 从您的存储库中删除不需要的文件/文件夹所需的基本命令

  1. 提交您当前的所有更改
  2. 运行 git rm -r --cached . 删除更改​​的文件
  3. 然后 运行 git add -Agit commit -m 'fixes .gitignore' 就像你通常那样

I want to add a way to force my colleagues check their css code

您还可以使用来自持续集成工具之一(例如 CirclCI)的构建监控系统来自动执行此操作。每次您的团队将任何内容推送到存储库时,CI 客户端可以 运行 scss-lint 您应用程序的 app/assets/stylesheets 目录,并 rake assets:precompile 以确保新的代码库不 'break' 您应用的任何部分。

有关 Rails 的持续集成的更多信息,来自 CirclCi:https://circleci.com/docs/language-ruby-on-rails/

答案:RAILS_ENV=production rake assets:precompile 行可以添加到 .travis.yml,Travis CI 项目的配置文件,每当推送到 Github 时,Travis 都会努力为你工作!如果此命令失败,构建将失败!