【问题标题】:Git Push Heroku Master error on rake assets:precompilerake 资产上的 Git Push Heroku Master 错误:预编译
【发布时间】:2016-04-18 20:00:56
【问题描述】:

尝试使用以下命令将更改推送到 Heroku:git push heroku master。

当涉及到 rake 资产时,我得到了以下 CircularDependencyError:预编译

-----> Preparing app for Rails asset pipeline
       Running: rake assets:precompile
       I, [2016-01-13T15:55:28.215959 #354]  INFO -- : Writing /tmp/build_0e4aaf291c7a69ab27b8f7714889c996/public/assets/application-b1c75457422e7764779b3a41c1807582.js
       rake aborted!
       Sprockets::CircularDependencyError: /tmp/build_0e4aaf291c7a69ab27b8f7714889c996/app/assets/stylesheets/application.css has already been required
       /tmp/build_0e4aaf291c7a69ab27b8f7714889c996/vendor/bundle/ruby/2.0.0/gems/sprockets-2.11.0/lib/sprockets/base.rb:392:in `circular_call_protection'
       /tmp/build_0e4aaf291c7a69ab27b8f7714889c996/vendor/bundle/ruby/2.0.0/gems/sprockets-2.11.0/lib/sprockets/base.rb:373:in `build_asset'
       /tmp/build_0e4aaf291c7a69ab27b8f7714889c996/vendor/bundle/ruby/2.0.0/gems/sprockets-2.11.0/lib/sprockets/index.rb:94:in `block in build_asset'
       /tmp/build_0e4aaf291c7a69ab27b8f7714889c996/vendor/bundle/ruby/2.0.0/gems/sprockets-2.11.0/lib/sprockets/caching.rb:58:in `cache_asset'
       /tmp/build_0e4aaf291c7a69ab27b8f7714889c996/vendor/bundle/ruby/2.0.0/gems/sprockets-2.11.0/lib/sprockets/index.rb:93:in `build_asset'
       /tmp/build_0e4aaf291c7a69ab27b8f7714889c996/vendor/bundle/ruby/2.0.0/gems/sprockets-2.11.0/lib/sprockets/base.rb:287:in `find_asset'
       /tmp/build_0e4aaf291c7a69ab27b8f7714889c996/vendor/bundle/ruby/2.0.0/gems/sprockets-2.11.0/lib/sprockets/index.rb:61:in `find_asset'
       /tmp/build_0e4aaf291c7a69ab27b8f7714889c996/vendor/bundle/ruby/2.0.0/gems/sprockets-2.11.0/lib/sprockets/processed_asset.rb:111:in `block in resolve_dependencies'
       /tmp/build_0e4aaf291c7a69ab27b8f7714889c996/vendor/bundle/ruby/2.0.0/gems/sprockets-2.11.0/lib/sprockets/processed_asset.rb:105:in `each'
       /tmp/build_0e4aaf291c7a69ab27b8f7714889c996/vendor/bundle/ruby/2.0.0/gems/sprockets-2.11.0/lib/sprockets/processed_asset.rb:105:in `resolve_dependencies'
       /tmp/build_0e4aaf291c7a69ab27b8f7714889c996/vendor/bundle/ruby/2.0.0/gems/sprockets-2.11.0/lib/sprockets/processed_asset.rb:97:in `build_required_assets'
       /tmp/build_0e4aaf291c7a69ab27b8f7714889c996/vendor/bundle/ruby/2.0.0/gems/sprockets-2.11.0/lib/sprockets/processed_asset.rb:16:in `initialize'
       /tmp/build_0e4aaf291c7a69ab27b8f7714889c996/vendor/bundle/ruby/2.0.0/gems/sprockets-2.11.0/lib/sprockets/base.rb:374:in `new'
       /tmp/build_0e4aaf291c7a69ab27b8f7714889c996/vendor/bundle/ruby/2.0.0/gems/sprockets-2.11.0/lib/sprockets/base.rb:374:in `block in build_asset'
       /tmp/build_0e4aaf291c7a69ab27b8f7714889c996/vendor/bundle/ruby/2.0.0/gems/sprockets-2.11.0/lib/sprockets/base.rb:395:in `circular_call_protection'
       /tmp/build_0e4aaf291c7a69ab27b8f7714889c996/vendor/bundle/ruby/2.0.0/gems/sprockets-2.11.0/lib/sprockets/base.rb:373:in `build_asset'
       /tmp/build_0e4aaf291c7a69ab27b8f7714889c996/vendor/bundle/ruby/2.0.0/gems/sprockets-2.11.0/lib/sprockets/index.rb:94:in `block in build_asset'
       /tmp/build_0e4aaf291c7a69ab27b8f7714889c996/vendor/bundle/ruby/2.0.0/gems/sprockets-2.11.0/lib/sprockets/caching.rb:58:in `cache_asset'
       /tmp/build_0e4aaf291c7a69ab27b8f7714889c996/vendor/bundle/ruby/2.0.0/gems/sprockets-2.11.0/lib/sprockets/index.rb:93:in `build_asset'
       /tmp/build_0e4aaf291c7a69ab27b8f7714889c996/vendor/bundle/ruby/2.0.0/gems/sprockets-2.11.0/lib/sprockets/base.rb:287:in `find_asset'
       /tmp/build_0e4aaf291c7a69ab27b8f7714889c996/vendor/bundle/ruby/2.0.0/gems/sprockets-2.11.0/lib/sprockets/index.rb:61:in `find_asset'
       /tmp/build_0e4aaf291c7a69ab27b8f7714889c996/vendor/bundle/ruby/2.0.0/gems/sprockets-2.11.0/lib/sprockets/processed_asset.rb:111:in `block in resolve_dependencies'
       /tmp/build_0e4aaf291c7a69ab27b8f7714889c996/vendor/bundle/ruby/2.0.0/gems/sprockets-2.11.0/lib/sprockets/processed_asset.rb:105:in `each'
       /tmp/build_0e4aaf291c7a69ab27b8f7714889c996/vendor/bundle/ruby/2.0.0/gems/sprockets-2.11.0/lib/sprockets/processed_asset.rb:105:in `resolve_dependencies'
       /tmp/build_0e4aaf291c7a69ab27b8f7714889c996/vendor/bundle/ruby/2.0.0/gems/sprockets-2.11.0/lib/sprockets/processed_asset.rb:97:in `build_required_assets'
       /tmp/build_0e4aaf291c7a69ab27b8f7714889c996/vendor/bundle/ruby/2.0.0/gems/sprockets-2.11.0/lib/sprockets/processed_asset.rb:16:in `initialize'
       /tmp/build_0e4aaf291c7a69ab27b8f7714889c996/vendor/bundle/ruby/2.0.0/gems/sprockets-2.11.0/lib/sprockets/base.rb:374:in `new'
       /tmp/build_0e4aaf291c7a69ab27b8f7714889c996/vendor/bundle/ruby/2.0.0/gems/sprockets-2.11.0/lib/sprockets/base.rb:374:in `block in build_asset'
       /tmp/build_0e4aaf291c7a69ab27b8f7714889c996/vendor/bundle/ruby/2.0.0/gems/sprockets-2.11.0/lib/sprockets/base.rb:395:in `circular_call_protection'
       /tmp/build_0e4aaf291c7a69ab27b8f7714889c996/vendor/bundle/ruby/2.0.0/gems/sprockets-2.11.0/lib/sprockets/base.rb:373:in `build_asset'
       /tmp/build_0e4aaf291c7a69ab27b8f7714889c996/vendor/bundle/ruby/2.0.0/gems/sprockets-2.11.0/lib/sprockets/index.rb:94:in `block in build_asset'
       /tmp/build_0e4aaf291c7a69ab27b8f7714889c996/vendor/bundle/ruby/2.0.0/gems/sprockets-2.11.0/lib/sprockets/caching.rb:58:in `cache_asset'
       /tmp/build_0e4aaf291c7a69ab27b8f7714889c996/vendor/bundle/ruby/2.0.0/gems/sprockets-2.11.0/lib/sprockets/index.rb:93:in `build_asset'
       /tmp/build_0e4aaf291c7a69ab27b8f7714889c996/vendor/bundle/ruby/2.0.0/gems/sprockets-2.11.0/lib/sprockets/base.rb:287:in `find_asset'
       /tmp/build_0e4aaf291c7a69ab27b8f7714889c996/vendor/bundle/ruby/2.0.0/gems/sprockets-2.11.0/lib/sprockets/index.rb:61:in `find_asset'
       /tmp/build_0e4aaf291c7a69ab27b8f7714889c996/vendor/bundle/ruby/2.0.0/gems/sprockets-2.11.0/lib/sprockets/bundled_asset.rb:37:in `init_with'
       /tmp/build_0e4aaf291c7a69ab27b8f7714889c996/vendor/bundle/ruby/2.0.0/gems/sprockets-2.11.0/lib/sprockets/asset.rb:24:in `from_hash'
       /tmp/build_0e4aaf291c7a69ab27b8f7714889c996/vendor/bundle/ruby/2.0.0/gems/sprockets-2.11.0/lib/sprockets/caching.rb:54:in `cache_asset'
       /tmp/build_0e4aaf291c7a69ab27b8f7714889c996/vendor/bundle/ruby/2.0.0/gems/sprockets-2.11.0/lib/sprockets/index.rb:93:in `build_asset'
       /tmp/build_0e4aaf291c7a69ab27b8f7714889c996/vendor/bundle/ruby/2.0.0/gems/sprockets-2.11.0/lib/sprockets/base.rb:287:in `find_asset'
       /tmp/build_0e4aaf291c7a69ab27b8f7714889c996/vendor/bundle/ruby/2.0.0/gems/sprockets-2.11.0/lib/sprockets/index.rb:61:in `find_asset'
       /tmp/build_0e4aaf291c7a69ab27b8f7714889c996/vendor/bundle/ruby/2.0.0/gems/sprockets-2.11.0/lib/sprockets/manifest.rb:211:in `block in find_asset'
       /tmp/build_0e4aaf291c7a69ab27b8f7714889c996/vendor/bundle/ruby/2.0.0/gems/sprockets-2.11.0/lib/sprockets/manifest.rb:257:in `benchmark'
       /tmp/build_0e4aaf291c7a69ab27b8f7714889c996/vendor/bundle/ruby/2.0.0/gems/sprockets-2.11.0/lib/sprockets/manifest.rb:210:in `find_asset'
       /tmp/build_0e4aaf291c7a69ab27b8f7714889c996/vendor/bundle/ruby/2.0.0/gems/sprockets-2.11.0/lib/sprockets/manifest.rb:119:in `block in compile'
       /tmp/build_0e4aaf291c7a69ab27b8f7714889c996/vendor/bundle/ruby/2.0.0/gems/sprockets-2.11.0/lib/sprockets/manifest.rb:118:in `each'
       /tmp/build_0e4aaf291c7a69ab27b8f7714889c996/vendor/bundle/ruby/2.0.0/gems/sprockets-2.11.0/lib/sprockets/manifest.rb:118:in `compile'
       /tmp/build_0e4aaf291c7a69ab27b8f7714889c996/vendor/bundle/ruby/2.0.0/gems/sprockets-rails-2.3.3/lib/sprockets/rails/task.rb:70:in `block (3 levels) in define'
       /tmp/build_0e4aaf291c7a69ab27b8f7714889c996/vendor/bundle/ruby/2.0.0/gems/sprockets-2.11.0/lib/rake/sprocketstask.rb:146:in `with_logger'
       /tmp/build_0e4aaf291c7a69ab27b8f7714889c996/vendor/bundle/ruby/2.0.0/gems/sprockets-rails-2.3.3/lib/sprockets/rails/task.rb:69:in `block (2 levels) in define'
       Tasks: TOP => assets:precompile
       (See full trace by running task with --trace)  !  !     Precompiling assets failed.  !  !     Push rejected, failed to compile Ruby app

我是 Ruby 和一般编程的新手。任何帮助将不胜感激。

注意:在Git Push Origin Master上推送没有问题

【问题讨论】:

  • 它已将错误指定为:application.css has already been required,因此只需消除对 css 的 allitiona 要求
  • 我不明白你的回答。你能重复一遍吗?如果您的意思是删除 application.css,则该文件已被替换为 application.css.scss,因此当我推送到 heroku 时它不存在。
  • 不,我的意思是从您的 css 源中删除添加需要密钥

标签: ruby-on-rails ruby git heroku


【解决方案1】:

首先尝试在本地应用程序中运行rake assets:precompile。然后再次将应用推送到heroku。

见:rake assets:precompile RAILS_ENV=production not working as required

【讨论】:

  • 这是我在运行 rake assets 时遇到的错误:本地预编译:/usr/local/rvm/gems/ruby-2.2.1/gems/activesupport-4.1.0/lib/active_support/values /time_zone.rb:285:警告:循环参数引用 - 现在
猜你喜欢
  • 2015-08-12
  • 1970-01-01
  • 2014-01-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-19
  • 1970-01-01
  • 2013-02-03
相关资源
最近更新 更多