Ruby on Rails错误“无法加载此类文件 - ”

时间:2012-12-15 01:12:33

标签: ruby-on-rails ruby twitter-bootstrap web

我是ruby on rails的新手,我一直在尝试使用twitter-bootstrap作为资产,因此我将其包含在我的Gemfile中,捆绑并成功安装。但是我注意到它依赖于我执行“bundle”命令时未显示的某些依赖项。

它需要的依赖

(1) Libv8
(2) Less
(3) Less-rails

错误讯息:

cannot load such file -- less
  (in c:/Sites/todo/app/assets/stylesheets/bootstrap_and_overrides.css.less)

[code]

Extracted source (around line #8):

5:   <!--[if lt IE 9]>
6:     <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"     type="text/javascript"></script>
7:   <![endif]-->
8:   <%= stylesheet_link_tag    "application", :media => "all" %>
9:   <%= javascript_include_tag "application" %>
10:   <%= csrf_meta_tags %>
11:   <meta name="viewport" content="width=device-width, initial-scale=1.0">

[/code]

Trace
app/views/layouts/application.html.erb:8:in     `_app_views_layouts_application_html_erb__560528188_27183396'
app/controllers/lists_controller.rb:7:in `index'

我已经注意到了很多这个问题的答案,并选择了明显的解决方案,但不知何故我仍然陷入困境,并且非常感谢一些指导。

5 个答案:

答案 0 :(得分:89)

我猜你使用sass而不是LESS。

您是否尝试过twitter-bootstrap-rails gem?

gem "therubyracer"
gem "less-rails"
gem "twitter-bootstrap-rails"

https://github.com/seyhunak/twitter-bootstrap-rails

答案 1 :(得分:26)

我只需要重启我的服务器。

我在本地服务器运行时添加了上面列出的三个宝石(less-railstherubyracertwitter-bootstrap-rails,以及 Rails 3.2.13 ) ,导致上面看到的问题。因此,一旦我关闭它并重新启动它,一切都很好。

答案 2 :(得分:7)

您必须更新therubyracer或将twitter-bootstrap-rails gem降级到版本2.1.7,这是最后一个没有此问题的已知版本。

运行bundle update来更新你的宝石,或者在Gemfile中运行你的twitter-bootstrap-rails gem看起来像这样:

gem 'twitter-bootstrap-rails', '2.1.7'

看看这个问题:

https://github.com/seyhunak/twitter-bootstrap-rails/issues/465

此问题在twitter-bootstrap-rails上的2.1.7之后的版本上开始发生。

答案 3 :(得分:4)

如果你在Windows下获得它,这应该会帮助你 therubyracer_for_windows

它帮助了我

答案 4 :(得分:1)

也许你在Windows上...没有libv8 for windows而且没有二进制therubyracer因为它依赖于libv8