Ruby更新后,Rails 3.1rc4资产管道中断了吗?如何重新激活/配置它? [英] Rails 3.1rc4 asset pipeline broke after Ruby update? How to re-activate/configure it?

查看:58
本文介绍了Ruby更新后,Rails 3.1rc4资产管道中断了吗?如何重新激活/配置它?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

某种程度上这是相关的,但我不确定如何/为什么?

只需通过RVM的rvm upgrade命令从Ruby 1.9.2-p180升级到1.9.2-p290 ...现在我的资产管道已损坏".

rvm upgrade ...期间,我发现每个gemset沿以下方向出现了一系列错误:

ERROR: Error running 'rvm gemset pristine' under ,
please read /Users/meltemi/.rvm/log//gemset.pristine.log

我让升级继续进行,因为gemset.pristine.log中没有太多有趣的内容... 此外,/Users/meltemi/.rvm/log//gemset.pristine.log在该确切路径中不存在(不是吗?)?路径名中两个连续的'//'吗?反正...

测试一个小型应用程序,尽管它启动并似乎可以运行,但它并未加载任何资产(图像,css等).即使这些丢失的资产存在于app/assets/imagesapp/assets/stylesheets等中,开发日志也存在许多有关这些丢失的资产的Not Found错误(请参阅下文).

有人知道这里发生了什么吗?似乎管道已经以某种方式崩溃了……好像Rails不再知道在应用程序/资产中寻找资产了,也许是吗?如何测试/验证/修复/重新激活此管道"?

$ rails s
=> Booting WEBrick
=> Rails 3.1.0.rc4 application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
[2011-07-25 23:11:38] INFO  WEBrick 1.3.1
[2011-07-25 23:11:38] INFO  ruby 1.9.2 (2011-07-09) [x86_64-darwin10.8.0]
[2011-07-25 23:11:38] INFO  WEBrick::HTTPServer#start: pid=74881 port=3000


Started GET "/" for 127.0.0.1 at 2011-07-25 23:11:43 -0700
  Processing by PostsController#index as HTML
  Post Load (0.2ms)  SELECT "posts".* FROM "posts" ORDER BY posts.created_at DESC
  User Load (0.3ms)  SELECT "users".* FROM "users" WHERE "users"."id" = 1 LIMIT 1
  Photo Load (0.3ms)  SELECT "photos".* FROM "photos" WHERE "photos"."post_id" = 6
  CACHE (0.0ms)  SELECT "users".* FROM "users" WHERE "users"."id" = 1 LIMIT 1
  Photo Load (0.2ms)  SELECT "photos".* FROM "photos" WHERE "photos"."post_id" = 5
  CACHE (0.0ms)  SELECT "users".* FROM "users" WHERE "users"."id" = 1 LIMIT 1
  Photo Load (0.2ms)  SELECT "photos".* FROM "photos" WHERE "photos"."post_id" = 4
  CACHE (0.0ms)  SELECT "users".* FROM "users" WHERE "users"."id" = 1 LIMIT 1
  Photo Load (0.2ms)  SELECT "photos".* FROM "photos" WHERE "photos"."post_id" = 2
  CACHE (0.0ms)  SELECT "users".* FROM "users" WHERE "users"."id" = 1 LIMIT 1
  Photo Load (0.2ms)  SELECT "photos".* FROM "photos" WHERE "photos"."post_id" = 1
Rendered posts/index.html.haml within layouts/application (3016.4ms)
Rendered layouts/_header.html.haml (9.7ms)
Completed 200 OK in 3143ms (Views: 3138.2ms | ActiveRecord: 2.9ms)


Started GET "/assets/application.css" for 127.0.0.1 at 2011-07-25 23:11:47 -0700
Served asset /application.css - 404 Not Found (1ms)

ActionController::RoutingError (No route matches [GET] "/assets/application.css"):


Rendered /Users/meltemi/.rvm/gems/ruby-1.9.2-p290@rails3/gems/actionpack-3.1.0.rc4/lib/action_dispatch/middleware/templates/rescues/routing_error.erb within rescues/layout (1.2ms)


Started GET "/assets/application.js" for 127.0.0.1 at 2011-07-25 23:11:47 -0700
Served asset /application.js - 404 Not Found (0ms)

ActionController::RoutingError (No route matches [GET] "/assets/application.js"):


Rendered /Users/meltemi/.rvm/gems/ruby-1.9.2-p290@rails3/gems/actionpack-3.1.0.rc4/lib/action_dispatch/middleware/templates/rescues/routing_error.erb within rescues/layout (0.8ms)


Started GET "/assets/racer-outline.png" for 127.0.0.1 at 2011-07-25 23:11:48 -0700
Served asset /racer-outline.png - 404 Not Found (0ms)

ActionController::RoutingError (No route matches [GET] "/assets/racer-outline.png"):


Rendered /Users/meltemi/.rvm/gems/ruby-1.9.2-p290@rails3/gems/actionpack-3.1.0.rc4/lib/action_dispatch/middleware/templates/rescues/routing_error.erb within rescues/layout (3.2ms)


Started GET "/assets/ray.png" for 127.0.0.1 at 2011-07-25 23:11:48 -0700
Served asset /pogo.png - 404 Not Found (0ms)

ActionController::RoutingError (No route matches [GET] "/assets/ray.png"):


Rendered /Users/meltemi/.rvm/gems/ruby-1.9.2-p290@rails3/gems/actionpack-3.1.0.rc4/lib/action_dispatch/middleware/templates/rescues/routing_error.erb within rescues/layout (1.2ms)

解决方案

我最终只是吹散了整个有问题的宝石,然后重新开始.获得的经验教训:

不信任rvm upgrade.在RVM中安装新的Ruby w/.然后手动重建(或bundle install)您的gemset.

Somehow this is related but I'm not sure how/why?

Just upgraded from Ruby 1.9.2-p180 to 1.9.2-p290 via RVM's rvm upgrade command...and now my asset pipeline is 'broken'.

During rvm upgrade ... I noticed a bunch of errors for each gemset along lines of:

ERROR: Error running 'rvm gemset pristine' under ,
please read /Users/meltemi/.rvm/log//gemset.pristine.log

I let upgrade continue as there was not much interesting in the gemset.pristine.log... besides, /Users/meltemi/.rvm/log//gemset.pristine.log doesn't (can't?) exist in that exact path? two consecutive '//' in a pathname? Anyway...

Testing a small app and though it launches and appears to run it is not loading any assets (images, css, etc.). Development log has many Not Found errors (see below) about these missing assets even though they exist within app/assets/images and app/assets/stylesheets, etc... ?

Anyone know what's happening here? Seems like pipeline has broken down somehow... As if Rails no longer knows to look for assets in app/assets, perhaps? How can I test/verify/fix/re-activate this 'pipeline'?

$ rails s
=> Booting WEBrick
=> Rails 3.1.0.rc4 application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
[2011-07-25 23:11:38] INFO  WEBrick 1.3.1
[2011-07-25 23:11:38] INFO  ruby 1.9.2 (2011-07-09) [x86_64-darwin10.8.0]
[2011-07-25 23:11:38] INFO  WEBrick::HTTPServer#start: pid=74881 port=3000


Started GET "/" for 127.0.0.1 at 2011-07-25 23:11:43 -0700
  Processing by PostsController#index as HTML
  Post Load (0.2ms)  SELECT "posts".* FROM "posts" ORDER BY posts.created_at DESC
  User Load (0.3ms)  SELECT "users".* FROM "users" WHERE "users"."id" = 1 LIMIT 1
  Photo Load (0.3ms)  SELECT "photos".* FROM "photos" WHERE "photos"."post_id" = 6
  CACHE (0.0ms)  SELECT "users".* FROM "users" WHERE "users"."id" = 1 LIMIT 1
  Photo Load (0.2ms)  SELECT "photos".* FROM "photos" WHERE "photos"."post_id" = 5
  CACHE (0.0ms)  SELECT "users".* FROM "users" WHERE "users"."id" = 1 LIMIT 1
  Photo Load (0.2ms)  SELECT "photos".* FROM "photos" WHERE "photos"."post_id" = 4
  CACHE (0.0ms)  SELECT "users".* FROM "users" WHERE "users"."id" = 1 LIMIT 1
  Photo Load (0.2ms)  SELECT "photos".* FROM "photos" WHERE "photos"."post_id" = 2
  CACHE (0.0ms)  SELECT "users".* FROM "users" WHERE "users"."id" = 1 LIMIT 1
  Photo Load (0.2ms)  SELECT "photos".* FROM "photos" WHERE "photos"."post_id" = 1
Rendered posts/index.html.haml within layouts/application (3016.4ms)
Rendered layouts/_header.html.haml (9.7ms)
Completed 200 OK in 3143ms (Views: 3138.2ms | ActiveRecord: 2.9ms)


Started GET "/assets/application.css" for 127.0.0.1 at 2011-07-25 23:11:47 -0700
Served asset /application.css - 404 Not Found (1ms)

ActionController::RoutingError (No route matches [GET] "/assets/application.css"):


Rendered /Users/meltemi/.rvm/gems/ruby-1.9.2-p290@rails3/gems/actionpack-3.1.0.rc4/lib/action_dispatch/middleware/templates/rescues/routing_error.erb within rescues/layout (1.2ms)


Started GET "/assets/application.js" for 127.0.0.1 at 2011-07-25 23:11:47 -0700
Served asset /application.js - 404 Not Found (0ms)

ActionController::RoutingError (No route matches [GET] "/assets/application.js"):


Rendered /Users/meltemi/.rvm/gems/ruby-1.9.2-p290@rails3/gems/actionpack-3.1.0.rc4/lib/action_dispatch/middleware/templates/rescues/routing_error.erb within rescues/layout (0.8ms)


Started GET "/assets/racer-outline.png" for 127.0.0.1 at 2011-07-25 23:11:48 -0700
Served asset /racer-outline.png - 404 Not Found (0ms)

ActionController::RoutingError (No route matches [GET] "/assets/racer-outline.png"):


Rendered /Users/meltemi/.rvm/gems/ruby-1.9.2-p290@rails3/gems/actionpack-3.1.0.rc4/lib/action_dispatch/middleware/templates/rescues/routing_error.erb within rescues/layout (3.2ms)


Started GET "/assets/ray.png" for 127.0.0.1 at 2011-07-25 23:11:48 -0700
Served asset /pogo.png - 404 Not Found (0ms)

ActionController::RoutingError (No route matches [GET] "/assets/ray.png"):


Rendered /Users/meltemi/.rvm/gems/ruby-1.9.2-p290@rails3/gems/actionpack-3.1.0.rc4/lib/action_dispatch/middleware/templates/rescues/routing_error.erb within rescues/layout (1.2ms)

解决方案

I ended up just blowing out the whole problematic gemset and starting anew. Lesson learned:

Don't trust rvm upgrade. Install the new Ruby w/in RVM. Then manually rebuild (or bundle install) your gemsets.

这篇关于Ruby更新后,Rails 3.1rc4资产管道中断了吗?如何重新激活/配置它?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆