0

没看懂就跑错了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被移除的东西都是不可恢复的。

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

我进一步感到困惑,因为/config/database.yml在 中.gitignore,但文件没有被删除。

请针对这两点回答您的问题:

1)根据输出,有没有一种简单的方法可以知道我丢失了哪些文件?现在什么没了?
2) 为什么我的 Rails 应用程序停止工作,下一步如何修复它?

附录 1:
我运行了 bundle install
我运行了 railsg 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并保存空文件的内容,我的应用程序将加载并运行,但没有应用样式。

4

1 回答 1

2

然而,删除log/并且tmp/不是那么有问题public/system可能是有问题的。大多数上传 gem 将他们上传的文件放在那里。

  1. 不,除非你有一份清单,里面有以前的东西。

  2. 你试过了bundle install吗?也许bundle clean以前也是。根据你用来让 twitter 引导程序工作的 gem,再次按照安装步骤进行操作。从该错误消息中,您至少缺少引导样式表文件。如果您重新安装相关的 gem,它应该可以再次工作。

编辑关于您的添加:

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

于 2013-05-27T17:48:15.487 回答