修复git -fd清除错误?现在看到“无法加载这样的文件 - ”

时间:2013-05-27 17:14:57

标签: ruby-on-rails ruby-on-rails-3 git twitter-bootstrap less

没有理解,我错误地跑了git clean -fd并看到了这个:

perrys-MacBook-Pro:pc perry_mac$ git clean -fd
Removing log/
Removing public/system/
Removing tmp/

现在,当我运行rails s并加载http://localhost:3000/时,我得到:

LoadError at /
cannot load such file -- less (in /Users/perry_mac/rails_projects/pc/app/assets/stylesheets/bootstrap_and_overrides.css.less)

Rails Better Errors显示异常发生在第7行

应用程序/视图/布局/ application.html.erb

    2 <html>
    3   <head>
    4     <meta name="viewport" content="width=device-width, initial-scale=1.0">
    5     <title><%= content_for?(:title) ? yield(:title) : "Some Cases" %></title>
    6     <meta name="description" content="<%= content_for?(:description) ? yield(:description) : "Some Radiology Cases" %>">
    7     <%= stylesheet_link_tag "application", :media => "all" %>
    8     <%= javascript_include_tag "application" %>
    9     <%= csrf_meta_tags %>
   10     <%= yield(:head) %>
   11   </head>
   12   <body>

现在在git clean上阅读更多内容我担心我犯了一个可怕的错误。事实上,我不明白我可能失去了什么。

的输出
Removing log/
Removing public/system/
Removing tmp/

......似乎无害。我只是离我的应用程序再次运行一步还是更糟糕的事情?我理解无论移除git clean -fd是不可恢复的。

这是一个pastebin of my gemfile,我认为它具有所有预期的宝石 这是一个pastebin of my .gitignore文件。

我更加困惑,因为/config/database.yml位于.gitignore,但文件未被删除。

请解答您对这两点的回答:

1)基于输出,是否有一种简单的方法可以知道我丢失了哪些文件?什么现在消失了?
2)为什么我的rails应用程序停止工作以及下一步要解决它的问题?

附录1:
我跑捆绑安装
我跑了g bootstrap:install less

perrys-MacBook-Pro:pc perry_mac$ rails g bootstrap:install less
        SECURITY WARNING: No secret option provided to Rack::Session::Cookie.
        This poses a security threat. It is strongly recommended that you
        provide a secret to prevent exploits that may be possible from crafted
        cookies. This will not be supported in future versions of Rack, and
        future versions will even invalidate your existing user cookies.

        Called from: /Users/perry_mac/.rvm/gems/ruby-1.9.3-p327/gems/actionpack-3.2.8/lib/action_dispatch/middleware/session/abstract_store.rb:28:in `initialize'.

      insert  app/assets/javascripts/application.js
      create  app/assets/stylesheets/application.css
   identical  app/assets/javascripts/bootstrap.js.coffee
    conflict  app/assets/stylesheets/bootstrap_and_overrides.css.less
Overwrite /Users/perry_mac/rails_projects/pc/app/assets/stylesheets/bootstrap_and_overrides.css.less? (enter "h" for help) [Ynaqdh] Y
       force  app/assets/stylesheets/bootstrap_and_overrides.css.less
      create  config/locales/en.bootstrap.yml
        gsub  app/assets/stylesheets/application.css
        gsub  app/assets/stylesheets/application.css

现在我看到了这个错误:

/Users/perry_mac/rails_projects/pc/app/assets/stylesheets/application.css.scss has already been required

我认为这可能是因为:

app/assetts/stylesheets/application.css
app/assetts/stylesheets/application.css.scss

都包含:

 *= require_self
 *= require_tree .

您能否提出解决此周期性需求的最佳方法?

如果删除app/assetts/stylesheets/application.css的内容并保存空文件,我的应用程序会加载并运行,但没有应用样式。

1 个答案:

答案 0 :(得分:2)

删除log/tmp/不是问题,但public/system可能会有问题。大多数上传宝石将其上传的文件放在那里。

  1. 不,除非你有一份清单。

  2. 你试过bundle install吗?也可能bundle clean之前。根据您用于获取twitter引导程序的gem,请再次按照安装步骤操作。从该错误消息,您至少缺少引导样式表文件。如果你重新安装相关的宝石,它应该再次工作。

  3. 关于你的补充的编辑:

    似乎less安装程序创建了application.css,而您已经有application.css.scss。只需删除application.css(检查之前的内容)即可。但是,我想知道,您是否在项目中一起使用scssless?从长远来看,这可能会导致问题。