Mi sitio web solía funcionar y Heroku precompilaba los activos y todo. Ahora, aparentemente de la nada, empecé a hacer llegar este mensaje a desplegar:"rake abortado! Nivel de pila demasiado profundo" durante la implementación en Heroku
Preparing app for Rails asset pipeline
Running: rake assets:precompile
mkdir -p /tmp/build_31cexir1p9pwn/public/assets
mkdir -p /tmp/build_31cexir1p9pwn/public/assets/icons
mkdir -p /tmp/build_31cexir1p9pwn/public/assets/icons
mkdir -p /tmp/build_31cexir1p9pwn/public/assets
mkdir -p /tmp/build_31cexir1p9pwn/public/assets
(in /tmp/build_31cexir1p9pwn)
mkdir -p /tmp/build_31cexir1p9pwn/public/assets
mkdir -p /tmp/build_31cexir1p9pwn/public/assets
rake aborted!
stack level too deep
(in /tmp/build_31cexir1p9pwn/app/assets/stylesheets/theme.css.scss)
(See full trace by running task with --trace)
Precompiling assets failed, enabling runtime asset compilation
Injecting rails31_enable_runtime_asset_compilation
No puede precompilar mi archivo css.
estoy usando la pila de cedro y este es mi Gemfile:
gem 'rails', '3.1.0'
gem 'rake', '0.8.7'
gem 'devise'
group :production do
gem 'pg'
gem 'thin'
end
group :assets do
gem 'sass-rails', " ~> 3.1.0"
gem 'coffee-rails', "~> 3.1.0"
gem 'uglifier'
end
Aquí está mi archivo application.rb
# Enable the asset pipeline
config.assets.enabled = true
# Version of your assets, change this if you want to expire all your assets.
config.assets.version = '1.0'
y aquí está mi archivo production.rb
# Code is not reloaded between requests
config.cache_classes = true
# Full error reports are disabled and caching is turned on
config.consider_all_requests_local = false
config.action_controller.perform_caching = true
# Enable Rails's static asset server (Apache or nginx will not need this)
config.serve_static_assets = true
# Set expire header of 30 days for static files
config.static_cache_control = "public, max-age=2592000"
# Allow JavaScript and CSS compression
config.assets.compress = true
# Compress JavaScript by removing whitespace, shortening variable names, ...
config.assets.js_compressor = :uglifier
# Don't fallback to assets pipeline if a precompiled asset is missed
config.assets.compile = true
Ahora todos mis enlaces a las imágenes están rotos (estoy usando image-url() en mi archivo css). ¿Cuál podría ser el problema y cómo lo soluciono?
podría listar este archivo, theme.css.scss. Parece desbordamiento con su cartera de activos –
El error "nivel de pila demasiado profundo" es, en efecto, un caso en el que la aplicación se queda sin memoria. A menudo es el resultado de programas que usan mucha recursividad (funciones que se autodenominan), y cosas como los analizadores sintácticos (SASS a CSS, CoffeeScript a JS, ERB a HTML) suelen usar recursividad. Como solución alternativa, intente precompilar los activos antes de implementarlos: es posible que tenga más memoria en su máquina local que en la instancia de Heroku. –
Este es un error bastante serio. ¿Lo informaste en github? – jcollum