【问题标题】:Rails crashes on asset changeRails 在资产更改时崩溃
【发布时间】:2013-10-25 15:34:30
【问题描述】:

我有一个继承的小型 Rails 网站。我试图对 css 文件进行更改,却发现 rails 给了我一个错误页面(代码 500),并出现以下错误:

No such file or directory - /.../cache/assets/sprockets%2F1450c8f5d2b6e201d72fa175586bbd9720131025-15645-1c0s8zd.lock

我试过了:

  1. 重启 Rails 服务器
  2. 重新启动我的电脑
  3. 清除资产缓存
  4. 清除 tmp
  5. 关闭服务器 > rake assets:clean > rake tmp:clear > 重新启动服务器

消除错误的唯一解决方案是删除我所做的更改。

老实说,我不知道要开始寻找,所以如果有人可以指点一下,那就太好了。

【问题讨论】:

  • 尝试把 config.assets.cache_store = :null_store 放到环境中
  • 我猜你也试过rake assets:clean assets:precompile,对吧?
  • 注意奇怪的路径/.../cache/assets(三个点!)。如果您确实收到此消息,则可能是错误的根源。
  • rake assets:precompile 给了我在页面中遇到的相同错误。 @gotva 那是路径匿名化。

标签: css ruby-on-rails asset-pipeline


【解决方案1】:

尝试在 Rails 控制台中进行操作

Rails.cache.clear

或者在根目录下运行

rake tmp:清除

【讨论】:

  • 试过了,不行。之后还尝试重新启动rails服务器,但也不起作用。
【解决方案2】:

在控制台中运行:

bundle exec rake tmp:clear


bundle exec rake assets:clean


bundle exec rake assets:precompile

希望这会有所帮助!

【讨论】:

    【解决方案3】:

    我犯了一个愚蠢的错误:rake assets:precompile 失败了,因为我没有对 tmp 文件夹的写入权限。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-04-20
      • 2012-09-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多