Il mio sito Web funzionava e Heroku precompilava le risorse e tutto il resto. Ora, apparentemente dal nulla, ho iniziato a prendere rake aborted! stack level too deep
per la distribuzione.attività rake: precompilato non funziona su heroku
Cancellare la linea *= require_tree .
dal mio file application.css sembra risolvere il stack level too deep
ma tanto sono questo:
Running: rake assets:precompile
(in /tmp/build_b8o2t4k8frce)
/usr/local/bin/ruby /tmp/build_b8o2t4k8frce/vendor/bundle/ruby/1.9.1/bin/rake assets:precompile:nondigest RAILS_ENV=production RAILS_GROUPS=assets
(in /tmp/build_b8o2t4k8frce)
Tutti i miei link alle immagini sono rotti (sto usando immagini-url() in il mio file css). Quale potrebbe essere il problema e come lo risolvo?
sto usando pila di cedro e questo è il mio 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
Ed ecco le versioni utilizzate da Heroku:
Using rake (0.8.7)
Using rails (3.1.0)
Using sass (3.1.15)
Using sass-rails (3.1.6)
Ecco il mio file di application.rb
if defined?(Bundler)
# If you precompile assets before deploying to production, use this line
Bundler.require *Rails.groups(:assets => %w(development test))
# If you want your assets lazily compiled in production, use this line
# Bundler.require(:default, :assets, Rails.env)
end
module App
class Application < Rails::Application
# 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'
end
end
Ed ecco il mio file production.rb
# 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
# Generate digests for assets URLs
config.assets.digest = true
Wow, è tutto! Questo l'ha risolto! Il fatto è che sono un principiante e ho pensato che questa riga 'gem 'sass-rails'," ~> 3.1.0 "' significava che la mia versione gemma era bloccata ma apparentemente quella hash racquish (o qualunque sia il suo nome) facciamo la gemma essere aggiornata.E forse è quello che è successo, forse internamente Heroku ha cambiato qualcosa e all'improvviso la mia app ha smesso di funzionare. Cose davvero strane che mi hanno fatto perdere un'intera giornata per niente. Per chiunque potrebbe finire qui, la soluzione era quella di cambiare quella linea in 'gem 'sass-rails'," 3.1.4 "'. – Ashitaka
Grazie - BIG aiuto - stesso problema, dal nulla. Quella era l'ultima cosa di cui avevo bisogno di vedere oggi, è stata una spinta a non riuscire. – jpwynn
Per favore, prendi il mio upvote !! Grazie! – hajpoj