ruby-on-rails - "stack level too deep"编译 Assets 时

标签 ruby-on-rails ruby gem asset-pipeline sprockets

运行 brew upgrade 或更新我的 gems/ruby 版本的其他程序后,我的 rake assets:precompile 任务不再有效。

我收到这个错误:

rake aborted!
stack level too deep
  (in /Users/Jordan/Development/reejay/rails/reejay/app/assets/stylesheets/blog_player.css.scss)
/Users/Jordan/.rvm/gems/ruby-1.9.2-p290/gems/rake-0.9.2.2/lib/rake/task.rb:162
Tasks: TOP => assets:precompile:primary
rake aborted!
Command failed with status (1): [/usr/local/Cellar/ruby/1.9.3-p0/bin/ruby /...]
/usr/local/Cellar/ruby/1.9.3-p0/lib/ruby/1.9.1/rake/file_utils.rb:53:in `block in create_shell_runner'
/usr/local/Cellar/ruby/1.9.3-p0/lib/ruby/1.9.1/rake/file_utils.rb:45:in `call'
/usr/local/Cellar/ruby/1.9.3-p0/lib/ruby/1.9.1/rake/file_utils.rb:45:in `sh'
/usr/local/Cellar/ruby/1.9.3-p0/lib/ruby/1.9.1/rake/file_utils_ext.rb:39:in `sh'
/usr/local/Cellar/ruby/1.9.3-p0/lib/ruby/1.9.1/rake/file_utils.rb:80:in `ruby'
/usr/local/Cellar/ruby/1.9.3-p0/lib/ruby/1.9.1/rake/file_utils_ext.rb:39:in `ruby'
/Users/Jordan/.rvm/gems/ruby-1.9.2-p290/gems/actionpack-3.1.1/lib/sprockets/assets.rake:9:in `ruby_rake_task'
/Users/Jordan/.rvm/gems/ruby-1.9.2-p290/gems/actionpack-3.1.1/lib/sprockets/assets.rake:17:in `invoke_or_reboot_rake_task'
/Users/Jordan/.rvm/gems/ruby-1.9.2-p290/gems/actionpack-3.1.1/lib/sprockets/assets.rake:25:in `block (2 levels) in <top (required)>'
/usr/local/Cellar/ruby/1.9.3-p0/lib/ruby/1.9.1/rake/task.rb:205:in `call'
/usr/local/Cellar/ruby/1.9.3-p0/lib/ruby/1.9.1/rake/task.rb:205:in `block in execute'
/usr/local/Cellar/ruby/1.9.3-p0/lib/ruby/1.9.1/rake/task.rb:200:in `each'
/usr/local/Cellar/ruby/1.9.3-p0/lib/ruby/1.9.1/rake/task.rb:200:in `execute'
/usr/local/Cellar/ruby/1.9.3-p0/lib/ruby/1.9.1/rake/task.rb:158:in `block in invoke_with_call_chain'
/usr/local/Cellar/ruby/1.9.3-p0/lib/ruby/1.9.1/monitor.rb:211:in `mon_synchronize'
/usr/local/Cellar/ruby/1.9.3-p0/lib/ruby/1.9.1/rake/task.rb:151:in `invoke_with_call_chain'
/usr/local/Cellar/ruby/1.9.3-p0/lib/ruby/1.9.1/rake/task.rb:144:in `invoke'
/usr/local/Cellar/ruby/1.9.3-p0/lib/ruby/1.9.1/rake/application.rb:116:in `invoke_task'
/usr/local/Cellar/ruby/1.9.3-p0/lib/ruby/1.9.1/rake/application.rb:94:in `block (2 levels) in top_level'
/usr/local/Cellar/ruby/1.9.3-p0/lib/ruby/1.9.1/rake/application.rb:94:in `each'
/usr/local/Cellar/ruby/1.9.3-p0/lib/ruby/1.9.1/rake/application.rb:94:in `block in top_level'
/usr/local/Cellar/ruby/1.9.3-p0/lib/ruby/1.9.1/rake/application.rb:133:in `standard_exception_handling'
/usr/local/Cellar/ruby/1.9.3-p0/lib/ruby/1.9.1/rake/application.rb:88:in `top_level'
/usr/local/Cellar/ruby/1.9.3-p0/lib/ruby/1.9.1/rake/application.rb:66:in `block in run'
/usr/local/Cellar/ruby/1.9.3-p0/lib/ruby/1.9.1/rake/application.rb:133:in `standard_exception_handling'
/usr/local/Cellar/ruby/1.9.3-p0/lib/ruby/1.9.1/rake/application.rb:63:in `run'
/usr/local/bin/rake:32:in `<main>'
Tasks: TOP => assets:precompile

这是我的 Gemfile 的链接:http://www.pastie.org/3019470

其他 rake 任务,如 db:migrate,继续按预期工作。这只会影响 assets:precompile 任务。

最佳答案

(重复我上面的评论,因为它似乎实际上是正确的答案。对于尚未使用它的任何人:rvm,rvm,rvm。学习它,喜欢它。)

引用三个不同版本的 ruby​​(1.9.1、1.9.2 和 1.9.3)的堆栈跟踪有一些非常奇怪的地方。我建议安装 rvm ,创建一个干净的 gemset,然后再试一次。

关于ruby-on-rails - "stack level too deep"编译 Assets 时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8515659/

相关文章:

ruby-on-rails - tinymce 图片上传后服务器响应错误

ruby-on-rails - Rails - 不知道如何将表单中的数据保存到另一个模型中

ruby-on-rails - 是否可以创建 Ruby on Rails 项目的单个可执行文件?

ruby-on-rails - 如何要求具有相同名称的不同 gem ?

ruby-on-rails - 带有 Prawn Gem 的复选框

ruby-on-rails - 回形针、大文件上传和 AWS

ruby-on-rails - RAILS 使用 API key RESTApi 向 onesignal 发送 get 请求

ruby-on-rails - rails 5 : How to pass collection_select values through strong_params in a fields_for?

javascript - 我可以在 javascript/html/css 中制作一个 ruby​​ GUI 吗?

ruby-on-rails - 为什么我的 Rails 服务器不能在 cloud9 中工作