ruby-on-rails - not - rails 5.2 heroku
"Rake abortado! nivel de pila demasiado profundo "mientras se despliega a Heroku (4)
Estaba realmente desesperado, así que hice otra pregunta . Aparentemente, esto se debe a que sass y la degradación a sass-rails v3.1.4 v3.2.5 lo harán funcionar.
Mi sitio web solía estar funcionando y Heroku precompilaba los activos y todo. Ahora, aparentemente de la nada, comencé a recibir este mensaje en el despliegue:
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 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 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?
Para ruby 2.3.0 o las versiones inferiores tienen la siguiente línea en el archivo application.rb para Rails. Pero 2.4.0 o superior los ha implementado como automatizados.
Bundler.require(*Rails.groups)
Cambiar la versión de rubí a 2.3.0 hizo el truco. Este me salvó el día.
actualizar a Sass v3.2.12 hizo el truco para mí
pero en general, parece que el problema se solucionó en todas las versiones actuales, solo haga una actualización del paquete y debería ser bueno.
bajando a sass-rails v3.1.4 funcionó para mí :)